Простейшая оболочка CUDA для начинающих - PullRequest
6 голосов
/ 09 января 2010

Я хочу начать изучать, как программировать на CUDA, не только на языке, но и на дизайне программ - что-то вроде - из того, что я слышал - писать ядра без условий, чтобы все потоки выполняли одинаковые инструкции и есть минимальные накладные расходы на синхронизацию.

И из того, что я слышал, оболочка python намного более интуитивно понятна в использовании и кодировании, чем библиотека C.

Если предположить, что языки, которые я уже знаю / не знаю, не являются препятствием, на каком языке лучше всего начинать изучать CUDA?

Какой из них дает вам лучшее представление о DO и DONTs в CUDA и о самой легкой кривой обучения?

Ответы [ 2 ]

4 голосов
/ 09 января 2010

Учитывая, что языки не являются барьером, я бы сказал, что придерживаясь C / C ++, вы сможете получить больше ресурсов, чтобы помочь вам. Существует больше потенциальных ловушек, но если вы посмотрите в Руководстве по передовым методам CUDA (поставляется с инструментарием CUDA на веб-сайте NVIDIA ), то вы на правильном пути.

Вы также можете рассмотреть проект с открытым исходным кодом " Thrust ", представляющий собой библиотеку шаблонов в стиле STL / Boost, построенную на основе CUDA C ++. Во многих случаях он работает хорошо, и вы можете просто вызывать более сложные ядра, когда узнаете больше.

1 голос
/ 09 января 2010

Вы можете просмотреть Руководство по передовому опыту , а также шаблон THRUST. Для связывания Python, посмотрите на Copperhead, о котором говорилось в этих слайдах Майкла Гарланда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...