cudaGetDeviceProperties имеет атрибуты для получения возможности вычисления (major.minor), но как мы можем получить архитектуру графического процессора (sm _ **) для компиляции для устройства?Как получить архитектуру GPU устройства?
3
A
ответ
10
- sm_10 является возможность вычислить 1.0 Устройство
- sm_11 является возможность вычислить 1.1 Устройство
- sm_12 является возможность вычислить 1.2 Устройство
- sm_13 является возможность вычислить 1.3 Устройство
- sm_20 является вычислительный возможность 2.0 устройство
- sm_21 - вычислительная способность 2.1 устройство
- sm_30 - вычислительная способность 3.0 устройство
- sm_32 является возможность вычислить 3.2 Устройство
- sm_35 является возможность вычислить 3.5 Устройство
- sm_37 является возможность вычислить 3.7 Устройство
- sm_50 является возможность вычислить 5.0 Устройство
- sm_52 является возможность вычислить 5.2 Устройство
- sm_53 является возможность вычислить 5.3 устройство
- sm_60 является возможность вычислить 6.0 устройство
- sm_61 является возможность вычислить 6.1 устройство
- sm_62 является возможность вычислить +6,2 устройство
sm_XY соответствует "физическим" или "реальной" Архитектура
compute_ZW соответствует "virtual" architecture
не все sm_XY имеют соответствующие compute_XY
для Например, нет архитектуры compute_21 (виртуальная)
-1
простейший способ
если вы используете Cuda 7.x, используя NVCC флаги, как показано ниже, чтобы получить совместимости
-arch=sm_30 \
-gencode=arch=compute_20,code=sm_20 \
-gencode=arch=compute_30,code=sm_30 \
-gencode=arch=compute_50,code=sm_50 \
-gencode=arch=compute_52,code=sm_52
если вы используете Cuda 8.x, установите флаги, как показано ниже:
-arch=sm_30 \
-gencode=arch=compute_20,code=sm_20 \
-gencode=arch=compute_30,code=sm_30 \
-gencode=arch=compute_50,code=sm_50 \
-gencode=arch=compute_52,code=sm_52 \
-gencode=arch=compute_60,code=sm_60 \
-gencode=arch=compute_61,code=sm_61 \
-gencode=arch=compute_62,code=sm_62 \
Если Я правильно понимаю ваш вопрос, это то, что кодируют основные и второстепенные свойства. –