"""
Listing of supported GPGPUs available on Schrodinger clusters. Useful for GPU
performance testing.
Copyright Schrodinger, LLC. All rights reserved.
"""
[docs]class GPUCardInfo:
[docs] def __init__(self, pdxgpu_node, make, model, gpus_per_card):
self.pdxgpu_node = pdxgpu_node
self.make = make
self.model = model
self.gpus_per_card = gpus_per_card
def __str__(self):
arch = self.architecture()
return f"{self.make} {self.model} ({arch} Architecture)"
[docs] def architecture(self):
ARCHS = {"K": "Kepler", "M": "Maxwell", "P": "Pascal", "V": "Volta"}
return ARCHS[self.model[0]]
# Schrodinger supported gpgpus on the pdxgpu cluster:
# https://www.schrodinger.com/supportedplatforms/
PDXGPU_CLUSTER = (
# NVIDIA Server/HPC cards
GPUCardInfo("pdxgpu-stu-multi_node_k80", "Tesla", "K80", 2),
GPUCardInfo("pdxgpu-stu-multi_node_m40", "Tesla", "M40", 1),
GPUCardInfo("pdxgpu-stu-multi_node_m60", "Tesla", "M60", 2),
GPUCardInfo("pdxgpu-stu-one_node_p40", "Tesla", "P40", 1),
GPUCardInfo("pdxgpu-stu-one_node_p100", "Tesla", "P100", 1),
GPUCardInfo("pdxgpu-stu-one_node_v100", "Tesla", "V100", 1),
GPUCardInfo("pdxgpu-stu-one_node_a100", "Tesla", "A100", 1),
GPUCardInfo("pdxgpu-stu-one_node_t4", "Tesla", "T4", 1),
# NVIDIA Workstation cards
GPUCardInfo("pdxgpu-stu-one_node_p5000", "Quadro", "P5000", 1),
GPUCardInfo("pdxgpu-stu-one_node_rtx5000", "Quadro", "RTX5000", 1),
GPUCardInfo("pdxgpu-stu-one_node_a4k", "Quadro", "RTXA4000", 1),
GPUCardInfo("pdxgpu-stu-one_node_a5k", "Quadro", "RTXA5000", 1),
)