|
17 | 17 | def raw_instance_types() -> list[dict]: |
18 | 18 | # verda.instance_types.get() |
19 | 19 | one_gpu = { |
20 | | - "best_for": [ |
21 | | - "Gargantuan ML models", |
22 | | - "Multi-GPU training", |
23 | | - "FP64 HPC", |
24 | | - "NVLINK", |
25 | | - ], |
| 20 | + "best_for": [], |
26 | 21 | "cpu": {"description": "30 CPU", "number_of_cores": 30}, |
| 22 | + "currency": "usd", |
27 | 23 | "deploy_warning": "H100: Use Nvidia driver 535 or higher for best performance", |
28 | 24 | "description": "Dedicated Hardware Instance", |
| 25 | + "display_name": None, |
29 | 26 | "gpu": {"description": "1x H100 SXM5 80GB", "number_of_gpus": 1}, |
30 | 27 | "gpu_memory": {"description": "80GB GPU RAM", "size_in_gigabytes": 80}, |
31 | 28 | "id": "c01dd00d-0000-480b-ae4e-d429115d055b", |
32 | 29 | "instance_type": "1H100.80S.30V", |
| 30 | + "manufacturer": "NVIDIA", |
33 | 31 | "memory": {"description": "120GB RAM", "size_in_gigabytes": 120}, |
34 | | - "model": "H100 80GB", |
| 32 | + "model": "H100", |
35 | 33 | "name": "H100 SXM5 80GB", |
36 | | - "p2p": "", |
| 34 | + "p2p": None, |
37 | 35 | "price_per_hour": "3.95", |
38 | 36 | "spot_price": "1.70", |
39 | 37 | "storage": {"description": "dynamic"}, |
| 38 | + "supported_os": ["ubuntu-22.04", "ubuntu-24.04"], |
40 | 39 | } |
41 | 40 |
|
42 | 41 | two_gpu = { |
43 | | - "best_for": ["Large ML models", "FP32 calculations", "Single-GPU training"], |
| 42 | + "best_for": [], |
44 | 43 | "cpu": {"description": "20 CPU", "number_of_cores": 20}, |
| 44 | + "currency": "usd", |
45 | 45 | "deploy_warning": None, |
46 | 46 | "description": "Dedicated Hardware Instance", |
| 47 | + "display_name": None, |
47 | 48 | "gpu": {"description": "2x RTX A6000 48GB", "number_of_gpus": 2}, |
48 | 49 | "gpu_memory": {"description": "96GB GPU RAM", "size_in_gigabytes": 96}, |
49 | 50 | "id": "07cf5dc1-a5d2-4972-ae4e-d429115d055b", |
50 | 51 | "instance_type": "2A6000.20V", |
| 52 | + "manufacturer": "NVIDIA", |
51 | 53 | "memory": {"description": "120GB RAM", "size_in_gigabytes": 120}, |
52 | 54 | "model": "RTX A6000", |
53 | 55 | "name": "RTX A6000 48GB", |
54 | | - "p2p": "", |
| 56 | + "p2p": "50GB/s", |
55 | 57 | "price_per_hour": "1.98", |
56 | 58 | "spot_price": "0.70", |
57 | 59 | "storage": {"description": "dynamic"}, |
| 60 | + "supported_os": ["ubuntu-22.04", "ubuntu-24.04"], |
58 | 61 | } |
59 | 62 |
|
60 | 63 | cpu_instance = { |
61 | | - "best_for": ["Running services", "API server", "Data transfers"], |
| 64 | + "best_for": [], |
62 | 65 | "cpu": {"description": "120 CPU", "number_of_cores": 120}, |
| 66 | + "currency": "usd", |
63 | 67 | "deploy_warning": None, |
64 | 68 | "description": "Dedicated Hardware Instance", |
| 69 | + "display_name": "Rome/Milan", |
65 | 70 | "gpu": {"description": "", "number_of_gpus": 0}, |
66 | 71 | "gpu_memory": {"description": "", "size_in_gigabytes": 0}, |
67 | 72 | "id": "ccc00007-a5d2-4972-ae4e-d429115d055b", |
68 | 73 | "instance_type": "CPU.120V.480G", |
| 74 | + "manufacturer": "AMD", |
69 | 75 | "memory": {"description": "480GB RAM", "size_in_gigabytes": 480}, |
70 | 76 | "model": "CPU Node", |
71 | 77 | "name": "AMD EPYC", |
72 | | - "p2p": "", |
| 78 | + "p2p": None, |
73 | 79 | "price_per_hour": "3.00", |
74 | 80 | "spot_price": "1.50", |
75 | 81 | "storage": {"description": "dynamic"}, |
| 82 | + "supported_os": ["ubuntu-22.04", "ubuntu-24.04"], |
76 | 83 | } |
77 | 84 |
|
78 | 85 | minimal = { |
79 | | - "best_for": [ |
80 | | - "Small ML models", |
81 | | - "Multi-GPU training", |
82 | | - "FP64 calculations", |
83 | | - "NVLINK", |
84 | | - ], |
| 86 | + "best_for": [], |
85 | 87 | "cpu": {"description": "6 CPU", "number_of_cores": 6}, |
| 88 | + "currency": "usd", |
86 | 89 | "deploy_warning": None, |
87 | 90 | "description": "Dedicated Hardware Instance", |
| 91 | + "display_name": None, |
88 | 92 | "gpu": {"description": "1x Tesla V100 16GB", "number_of_gpus": 1}, |
89 | 93 | "gpu_memory": {"description": "16GB GPU RAM", "size_in_gigabytes": 16}, |
90 | 94 | "id": "04cf5dc1-a5d2-4972-ae4e-d429115d055b", |
91 | 95 | "instance_type": "1V100.6V", |
| 96 | + "manufacturer": "NVIDIA", |
92 | 97 | "memory": {"description": "23GB RAM", "size_in_gigabytes": 23}, |
93 | 98 | "model": "Tesla V100", |
94 | 99 | "name": "Tesla V100 16GB", |
95 | | - "p2p": "", |
| 100 | + "p2p": None, |
96 | 101 | "price_per_hour": "0.89", |
97 | 102 | "spot_price": "0.25", |
98 | 103 | "storage": {"description": "225GB NVME", "size_in_gigabytes": 225}, |
| 104 | + "supported_os": ["ubuntu-22.04", "ubuntu-24.04"], |
99 | 105 | } |
100 | 106 |
|
101 | 107 | return [one_gpu, two_gpu, cpu_instance, minimal] |
@@ -162,6 +168,15 @@ def instance_types(raw_instance_type: dict) -> InstanceType: |
162 | 168 | memory=raw_instance_type["memory"], |
163 | 169 | gpu_memory=raw_instance_type["gpu_memory"], |
164 | 170 | storage=raw_instance_type["storage"], |
| 171 | + best_for=raw_instance_type["best_for"], |
| 172 | + model=raw_instance_type["model"], |
| 173 | + name=raw_instance_type["name"], |
| 174 | + p2p=raw_instance_type["p2p"], |
| 175 | + currency=raw_instance_type["currency"], |
| 176 | + manufacturer=raw_instance_type["manufacturer"], |
| 177 | + display_name=raw_instance_type["display_name"], |
| 178 | + supported_os=raw_instance_type["supported_os"], |
| 179 | + deploy_warning=raw_instance_type.get("deploy_warning"), |
165 | 180 | ) |
166 | 181 | return instance |
167 | 182 |
|
|
0 commit comments