Я искал в Интернете, но я все еще очень смущен этой темой. Может ли кто-нибудь объяснить это более четко? Я исхожу из опыта Aerospace Engineering (а не из Computer Science), поэтому, когда я читаю онлайн о OpenMP/CUDA/etc. и многопоточность Я не очень понимаю многое из того, что говорится.Может ли OpenMP использоваться для графических процессоров?
Я сейчас пытаюсь распараллелить внутреннее программное обеспечение CFD, написанное в FORTRAN. Это мои сомнения:
OpenMP разделяет рабочую нагрузку с использованием нескольких потоков из CPU. Может ли он использоваться, чтобы позволить графическому процессору получить часть работы?
Я читал о OpenACC. Он похож на OpenMP (простой в использовании)?
Я также читал о CUDA и ядер, но у меня нет никакого большого опыта работы в параллельном программировании, и я не имею ни малейшего представления, что такое ядро.
- Есть ли простой и переносимый способ поделиться моей рабочей нагрузкой с графическим процессором для FORTRAN (если OpenMP этого не делает, а OpenACC не переносится)?
Можете ли вы дать мне ответ типа «для чайников»? стандарт
Я предлагаю взглянуть на OpenCL, поскольку это простой способ совместного использования одного и того же кода для исполнения на CPU и GPU. Ядро - это базовая единица исполняемого кода, такая как C-функция, которая может быть параллельной или параллельной работе. Также существуют привязки для Fortran для OpenCL. Взгляните на введение серии OpenCL от AMD: https://www.youtube.com/watch?v=ecYIsu83c0I&list=PL3B46A983A7382FA6 – sled
Поиск по термину * OpenMP-ускорители *. * В OpenMP 4.0 были введены ускорители * (из которых такие графические процессоры). –
[С предстоящим выпуском компилятора GCC 5 имеется поддержка инфраструктуры разгрузки, поскольку OpenMP 4.0 и выгрузка OpenACC для ускорителей начинают развиваться в этом компиляторе с открытым исходным кодом. Для тех, кто хочет поиграть с последним экспериментальным кодом, можно намочить ноги, если у вас есть графический процессор NVIDIA или поддерживаемая карта Intel Xeon Phi MIC.] (Http://www.phoronix.com/scan.php?page= news_item & px = GCC-5-Разгрузка-How-To) –