Мне нужен совет по проекту, который я собираюсь предпринять. Я планирую запускать простые ядра (пока не принято решение, но я использую смущающе параллельные ядра) на узле с несколькими графическими процессорами, используя CUDA 4.0, следуя приведенным ниже стратегиям. Намерение состоит в том, чтобы профилировать узел, запуская ядра в различных стратегиях, которые CUDA предоставляет в среде с несколькими графическими процессорами.
- Один хост-поток - несколько устройств (общий контекст)
- Один хост-поток - одновременное выполнение ядер на одном устройстве (общий контекст)
- Несколько потоков хоста - (равно) Несколько устройств (независимые контексты)
- Один хост-поток - последовательное выполнение ядра на одном устройстве
- Несколько потоков хоста - одновременное выполнение ядер на одном устройстве (независимые контексты)
- Несколько потоков хоста - последовательное выполнение ядер на одном устройстве (независимые контексты)
Я пропускаю какие-либо категории? Каково ваше мнение о категориях тестов, которые я выбрал, и любые общие советы по программированию нескольких GPU приветствуются.
Спасибо
Саян
EDIT:
Я думал, что предыдущая классификация включала некоторую избыточность, поэтому изменил ее.