File size: 2,100 Bytes
9f21f70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import streamlit as st
import pandas as pd

def calculate_cost(num_pairs, gpu_type):
    if gpu_type == "Nvidia A100":
        daily_rate = 28
        time_per_pair = 1  # minute
    elif gpu_type == "H100 80GB PCIe":
        daily_rate = 78.96
        time_per_pair = 0.5  # assuming it's twice as fast
    else:  # AWS p4d.24xlarge
        daily_rate = 786.48
        time_per_pair = 0.25  # assuming it's four times as fast due to 8 GPUs

    total_time_minutes = num_pairs * time_per_pair
    total_time_hours = total_time_minutes / 60
    hourly_rate = daily_rate / 24
    total_cost = total_time_hours * hourly_rate
    
    return total_cost

st.set_page_config(page_title="GPU Cost Calculator", page_icon="🧮", layout="wide")

st.title("GPU Cost Calculator")

# Input for number of pairs
num_pairs = st.number_input("Enter the number of pairs to process:", min_value=1, value=5)

# Select GPU type
gpu_type = st.selectbox(
    "Select GPU type:",
    ("Nvidia A100", "H100 80GB PCIe", "AWS p4d.24xlarge (8x A100)")
)

# Calculate button
if st.button("Calculate Cost"):
    cost = calculate_cost(num_pairs, gpu_type)
    st.write(f"Estimated cost for processing {num_pairs} pairs on {gpu_type}: ${cost:.4f}")

# Display GPU information
st.subheader("GPU Information")
gpu_data = {
    "Provider": ["H100 80GB PCIe", "AWS (p4d.24xlarge)", "GPU Mart"],
    "GPU": ["Nvidia H100", "Nvidia A100 (8 GPUs)", "Nvidia A100"],
    "vCPUs": [16, 96, "Dual 18-Core E5-2697v4"],
    "RAM": ["125 GB", "1152 GiB", "256 GB"],
    "GPU Memory": ["80 GB", "320 GB (8 x 40 GB)", "40 GB HBM2e"],
    "Instance Storage": ["Network Storage: 10Pb+", "8 x 1000 GB NVMe SSD", "240 GB SSD + 2TB NVMe + 8TB SATA"],
    "Network Bandwidth": ["Not Specified", "400 Gbps", "100Mbps - 1Gbps"],
    "On-Demand Price/hr": ["$3.29", "$32.77", "N/A"],
    "Daily Price": ["$78.96", "$786.48", "$28.00"],
    "Monthly Price": ["$2,368.80", "$23,594.40", "$799.00"],
    "1-Year Reserved (Hourly)": ["N/A", "$19.22", "N/A"],
    "3-Year Reserved (Hourly)": ["N/A", "$11.57", "N/A"]
}

df = pd.DataFrame(gpu_data)
st.table(df)