Skip to content

Commit 2fb662a

Browse files
umar4569prady9
authored andcommitted
Add CUDA 11 to Toolkit2MaxCompute. Add Ampere sm to compute2cores
1 parent fe97af7 commit 2fb662a

1 file changed

Lines changed: 36 additions & 35 deletions

File tree

‎src/backend/cuda/device_manager.cpp‎

Lines changed: 36 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,22 @@ struct cuNVRTCcompute {
7070
int embedded_minor;
7171
};
7272

73+
/// Struct represents the cuda toolkit version and its associated minimum
74+
/// required driver versions.
75+
struct ToolkitDriverVersions {
76+
/// The CUDA Toolkit version returned by cudaDriverGetVersion or
77+
/// cudaRuntimeGetVersion
78+
int version;
79+
80+
/// The minimum GPU driver version required for the \p version toolkit on
81+
/// Linux or macOS
82+
float unix_min_version;
83+
84+
/// The minimum GPU driver version required for the \p version toolkit on
85+
/// Windows
86+
float windows_min_version;
87+
};
88+
7389
// clang-format off
7490
static const int jetsonComputeCapabilities[] = {
7591
7020,
@@ -81,6 +97,7 @@ static const int jetsonComputeCapabilities[] = {
8197

8298
// clang-format off
8399
static const cuNVRTCcompute Toolkit2MaxCompute[] = {
100+
{11000, 8, 0, 0},
84101
{10020, 7, 5, 2},
85102
{10010, 7, 5, 2},
86103
{10000, 7, 0, 2},
@@ -92,6 +109,24 @@ static const cuNVRTCcompute Toolkit2MaxCompute[] = {
92109
{ 7000, 5, 2, 3}};
93110
// clang-format on
94111

112+
/// Map giving the minimum device driver needed in order to run a given version
113+
/// of CUDA for both Linux/Mac and Windows from:
114+
/// https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
115+
// clang-format off
116+
static const ToolkitDriverVersions
117+
CudaToDriverVersion[] = {
118+
{11000, 450.51f, 451.48f},
119+
{10020, 440.33f, 441.22f},
120+
{10010, 418.39f, 418.96f},
121+
{10000, 410.48f, 411.31f},
122+
{9020, 396.37f, 398.26f},
123+
{9010, 390.46f, 391.29f},
124+
{9000, 384.81f, 385.54f},
125+
{8000, 375.26f, 376.51f},
126+
{7050, 352.31f, 353.66f},
127+
{7000, 346.46f, 347.62f}};
128+
// clang-format on
129+
95130
bool isEmbedded(pair<int, int> compute) {
96131
int version = compute.first * 1000 + compute.second * 10;
97132
return end(jetsonComputeCapabilities) !=
@@ -202,7 +237,7 @@ static inline int compute2cores(unsigned major, unsigned minor) {
202237
{0x10, 8}, {0x11, 8}, {0x12, 8}, {0x13, 8}, {0x20, 32},
203238
{0x21, 48}, {0x30, 192}, {0x32, 192}, {0x35, 192}, {0x37, 192},
204239
{0x50, 128}, {0x52, 128}, {0x53, 128}, {0x60, 64}, {0x61, 128},
205-
{0x62, 128}, {0x70, 64}, {0x75, 64}, {-1, -1},
240+
{0x62, 128}, {0x70, 64}, {0x75, 64}, {0x80, 64}, {-1, -1},
206241
};
207242

208243
for (int i = 0; gpus[i].compute != -1; ++i) {
@@ -360,40 +395,6 @@ void DeviceManager::resetMemoryManagerPinned() {
360395
setMemoryManagerPinned(std::move(mgr));
361396
}
362397

363-
/// Struct represents the cuda toolkit version and its associated minimum
364-
/// required driver versions.
365-
struct ToolkitDriverVersions {
366-
/// The CUDA Toolkit version returned by cudaDriverGetVersion or
367-
/// cudaRuntimeGetVersion
368-
int version;
369-
370-
/// The minimum GPU driver version required for the \p version toolkit on
371-
/// Linux or macOS
372-
float unix_min_version;
373-
374-
/// The minimum GPU driver version required for the \p version toolkit on
375-
/// Windows
376-
float windows_min_version;
377-
};
378-
379-
/// Map giving the minimum device driver needed in order to run a given version
380-
/// of CUDA for both Linux/Mac and Windows from:
381-
/// https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
382-
// clang-format off
383-
static const ToolkitDriverVersions
384-
CudaToDriverVersion[] = {
385-
{11000, 450.51f, 451.48f},
386-
{10020, 440.33f, 441.22f},
387-
{10010, 418.39f, 418.96f},
388-
{10000, 410.48f, 411.31f},
389-
{9020, 396.37f, 398.26f},
390-
{9010, 390.46f, 391.29f},
391-
{9000, 384.81f, 385.54f},
392-
{8000, 375.26f, 376.51f},
393-
{7050, 352.31f, 353.66f},
394-
{7000, 346.46f, 347.62f}};
395-
// clang-format on
396-
397398
/// A debug only function that checks to see if the driver or runtime
398399
/// function is part of the CudaToDriverVersion array. If the runtime
399400
/// version is not part of the array then an error is thrown in debug

0 commit comments

Comments
 (0)