Я заинтересован в использовании библиотеки CUSP для CUDA (доступно here). Тем не менее, у меня возникли проблемы с тем, чтобы эта библиотека работала с моим приложением, связанным с статическими библиотеками CUDA и/или CUBLAS. Я предполагаю, что просматриваю заголовки и исходные файлы, которые я либо использую в ядрах, создавая связанные файлы как файл статической библиотеки (используя nvcc-компилятор) для использования в моем приложении (которое создается с использованием компилятора MS Visual Studio) или использовать ядра непосредственно в моем приложении (что я не знаю, как это будет работать). Библиотека CUSP также использует библиотеку METIS, и у меня также возникают проблемы с ее установкой в Windows. Каковы будут ваши предложения по наилучшему использованию функций CUSP в моем приложении? Заранее спасибо.Использование ядер CUDA
1
A
ответ
1
После быстрого просмотра источника CUSP кажется, что CUSP следует той же модели, что и (и даже использует) Thrust. Это библиотеки на основе шаблонов, которые используют только файлы заголовков (с некоторым встроенным встроенным кодом), как и большинство библиотек STL и boost. Например, возьмите dia_matrix.h. «Реализация» находится в dia_matrix.inl, который находится в нижней части dia_matrix.h.
Ознакомьтесь с примерами Thrust и CUSP для использования этих библиотек в вашем собственном коде. Это должно быть не более чем вопрос включения правильных файлов заголовков и работы с типами данных, которые они предоставляют. Ядро CUDA будет создано во время компиляции для вас, и вам не нужно беспокоиться об этих деталях.
Смежные вопросы
- 1. Синхронизация параллельных ядер CUDA
- 2. Отладка ядер CUDA
- 3. Параллельное выполнение ядер в cuda
- 4. Несколько ядер в cuda 4.0
- 5. Сериализация параллельных ядер CUDA при использовании событий
- 6. Сколько «ядер CUDA» выполняет каждый многопроцессор GPU?
- 7. Каков наилучший способ инкапсуляции ядер CUDA?
- 8. Обработка потока Cuda для нескольких ядер Несознание
- 9. вызов шаблонных ядер CUDA из файла .cpp
- 10. : непроизвольные CUDA изменение памяти во время ядер
- 11. Вызывающие несколько ядер, глобальные характеристики памяти - CUDA
- 12. Принудительное использование нескольких ядер
- 13. Использование нескольких графических процессоров CUDA
- 14. Использование простаивающих ядер в параллельном конвейере?
- 15. Использование нескольких ядер на Zynq
- 16. Использование Актеров для использования ядер
- 17. Как изменить количество ядер CUDA для расчета эффективности и масштабируемости?
- 18. Запуск последовательности ядер CUDA и передача данных между ними
- 19. Одновременный запуск нескольких ядер с использованием CUDA для графического процессора
- 20. Как я могу получить количество ядер в устройстве cuda?
- 21. Количество ядер на SM и потоки в блоке в CUDA
- 22. Какой размер является целым числом при программировании ядер cuda
- 23. Насколько плохо запускать много маленьких ядер в CUDA?
- 24. Как профилировать количество транзакций глобальной памяти для ядер cuda?
- 25. Влияние настроек компилятора Visual Studio на производительность ядер CUDA
- 26. Запуск параллельных ядер CUDA, вызванных из функций оболочки C++
- 27. Выполнение параллельных ядер
- 28. Использование констант с CUDA
- 29. Использование C++ с CUDA
- 30. Использование half2 в CUDA
как вы его построите и какова ошибка компиляции? – fabrizioM