加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用Delphi或FreePascal编程CUDA

发布时间:2020-12-15 04:33:48 所属栏目:大数据 来源:网络整理
导读:我可以使用Delphi或FreePascal创建CUDA / OpenCL应用程序吗? 或者我被迫使用C和Visual Studio? 快速搜索:cuda + pascal 打开了一些有希望的领先优势,但是如果我想用Pascal启动所有未使用的内核,我有什么选择呢? 解决方法 GLScene在其 ComputeAPIs文件夹
我可以使用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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读