Каковы возможности объединения CUDA, OpenCL и OpenACC в одной программе?

Каждый язык имеет свои преимущества и недостатки, но какие преимущества он предлагает объединить их все?

1 ответ

OpenACC, очевидно, имеет некоторую степень совместимости с CUDA. OpenCL, с другой стороны, не может работать ни с OpenACC, ни с CUDA. Таким образом, нет способа сделать то, о чем вы просите, независимо от предполагаемой выгоды от возможности сделать это.

В общем, используйте OpenACC для разработки на высоком уровне и управления данными в стандартах C/C++ и Fortran. Тогда, если вам нужно иметь более высокий уровень контроля над ядром (то есть, если вы думаете, что можете добиться большей производительности за счет потери некоторой переносимости), то вы можете кодировать ядро ​​в моделях более низкого уровня CUDA или OpenCL. Но вы не можете сделать все это одновременно.

Другие вопросы по тегам