使用Delphi或FreePascal编程CUDA

前端之家收集整理的这篇文章主要介绍了使用Delphi或FreePascal编程CUDA前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以使用Delphi或FreePascal创建CUDA / OpenCL应用程序吗?
或者我被迫使用C和Visual Studio

快速搜索cuda + pascal

打开了一些有希望的领先优势,但是如果我想用Pascal启动所有未使用的内核,我有什么选择呢?

解决方法

GLScene在其 ComputeAPIs文件夹中有CUDA OpenCL头转换,但遗憾的是CUDA / OpenCL没有Pascal,因此实际的内核需要用C语言编写,用于OpenCL / CUDA.

可以使用clEnqueueNativeKernel来纯粹使用所有Delphi代码,但是本机内核只能在cpu上运行,而不能在任何现有GPU上运行.在最近的Delphi版本中,可以将本机内核与匿名方法结合起来,以产生一个相当不错的解决方案.

例如.您可以编写一个包含匿名方法作为参数的包装函数,并将其作为本机内核传递给OpenCL,包装函数可以运行如下:

var
  input1,input2,output: array[0..1023] of integer;
begin
  Parallel.For(0,1023,procedure(i: Integer)
         begin
           output[i] := SomeFunc(input1[i]) + AnotherFunc(input2[i]);
         end);

猜你在找的Delphi相关文章