Многие знают, что на видеокартах можно не только играть в игры, но и выполнять расчеты. Если у вас возникло такое желание и одновременно испытываете трудности с его технической реализацией, надеюсь, эта статья будет полезной. В ней приведен пример сложения двух векторных величин с помощью языка CUDA. Программы очень просты и их объяснение выйдет за рамки заявленной темы, автор также предполагает, что вы знакомы с навыками работы на языках CUDA, C# и естественном С.
В VS Express не работает кудовский отладчик. Только в Pro. Зато под линух есть:
Будем иметь ввиду.
Пример в статье изменился. Добавлен пример обмена текстовой информацией. Кодировка текста в основной программе Unicode, а в библиотеке ANSI и понимать друг друга без переводчика категорически отказываются.
А не проще и эфективнее было сразу разбиратся с OpenCL ибо куда это очень ограниченная прослойка а OpenCL умеют почти все видеокарты .
Предлагаю другой подход. Представленный шаблон фактически есть мост с высокоуровневого языка С# к библиотеке функций. Мы к устройству обращаемся через вызов подпрограммы. Таким образом, основная концептуальная часть программы пишется на независимом языке. Унификация аппаратных средств, как представляется, должна происходить в библиотеке функций. Одним из подходов может быть такой. Необходимо выделить совокупность функций необходимых и достаточных для решения широкого круга задач на видео-ускорителе. Стандартизировать состав этой совокупности и сигнатуру методов. Каждая фирма производитель оборудования представляет библиотеку подобных функций. При обращении к функции из основной программы происходит анализ оборудования, определяется или выбирается из нескольких конкретный адаптер, и происходит обращение к библиотеке этого адаптера. Таким образом, программист избавлен от конкретики аппаратных средств, более того, он вообще пишет на высокоуровневом языке, а уже сама библиотека оптимально реализует функцию на установленном адаптере. Такой подход и проще и лучше, так как писать собственно на CUDA или Open CL большинство программистов не будет из-за сложности оптимизации кода, - это дело профессионалов.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения