@@ -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
7490static const int jetsonComputeCapabilities[] = {
7591 7020 ,
@@ -81,6 +97,7 @@ static const int jetsonComputeCapabilities[] = {
8197
8298// clang-format off
8399static 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+
95130bool 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