2017-03-07 101 views
3

LLVM對於AMD和NVIDIA GPUS都有一個後端。目前是否可以使用clang將C++(或子集)編譯爲GPU代碼並運行它?顯然,像標準庫這樣的東西不可用,以及操作符new和delete。我不是在尋找OpenCL或者CUDA,我正在考慮一個完全提前編譯的程序,甚至是一個微不足道的程序。如何在GPU上運行代碼?

回答

4

不,您需要OpenCL或CUDA之類的語言,因爲GPGPU不是普通的計算機,並且有不同的編程模型(粗略地說,SIMD就像)。 GPGPU compute kernels有特定的限制。

您可能要考慮在您的C++代碼中使用OpenACC編譯指示(並使用最近的GCC編譯器)。