Использование Delphi для использования технологии GPGPU?

GPGPU - это принцип использования параллельных процессоров на видеокартах для значительного увеличения производительности.

Есть ли у кого-нибудь идеи об использовании GPGPU в Delphi, используя OpenCL или CUDA? CUDA была/является только NVidia, но они также приняли стандарт OpenCL.

Я нашел несколько образцов Delphi из Google, но они либо сбой, либо не компилируются/выполняются.

Конечный образец команды:

  • Загрузите и установите DLL OpenCL отсюда.
  • Загрузите SDK OpenCL отсюда.
  • Загрузите здесь пример проекта Delphi.
  • Откройте и скомпилируйте проект Delphi. Если все идет по плану, он будет делать "все, что он должен делать"

На этом этапе я могу начать изучение OpenCL SDK и записи/компиляции DLL для вызова из любого приложения Delphi.

Такие вещи действительно начинают взлетать. Embarcadero не должны делать что-либо самостоятельно на этом этапе (если они этого не хотят), но если бы был учебник и образцы для Delphi, это было бы здорово. Многие образцы доступны для других языков, но нам также нужен хороший и простой пример Delphi, чтобы показать, насколько легко использовать Delphi для приложений GPGPU.

Ответы

Ответ 1

Вам может быть интересно GPGPUonDelphi2007.

Пример GPGPU плюс необходимые библиотеки OpenGL и CG для Delphi 2007 теперь доступно!

Вчера я создал необходимые пакеты OpenGL и CG (delphi) и завершил конвертирование/перевод/перенос примера CGGPU OpenGL/CG CG в Delphi сегодня, и я хотел бы поделиться им с вами, чтобы, возможно, еще несколько (Delphi) люди будут смотреть на программирование GPGPU, особенно с OpenGL 3.0 для (более старых) видеокарт DX9.

Ответ 2

CUDA все еще только nVidia, и это не изменится. OpenCL - настоящий стандарт в этом случае, который не ограничивается GPGPU.

Как для использования в Delphi, все, что я знаю о том, как использовать его в Free Pascal. Однако есть вероятность, что код будет переносимым, вот ссылка на обновленные заголовки:

FreePascal Mantis RFE OpenCL

Что касается DLL, если вы используете nVidia, их можно найти здесь.

Здесь однако у нас есть пример проекта в Delphi.

Ответ 3

Вы должны использовать CUDA DELPHI

В собственном паскальном коде вы можете запускать ядра CUDA