AMDSDK中的OpenCL内核在哪里

AMDSDK中的OpenCL内核在哪里,opencl,Opencl,clMath是AMD提供的一个开源项目。它包含一个clBLAS库。我检查了repo,发现所有函数都是用C编写的,而不是用OpenCL编写的。我看错文件了吗?OpenCL内核在哪里?如何在并行计算中使用C函数 实际上,有一个名为clTemplates的文件夹,所有.cl文件都在这个文件夹中。我想当调用一个函数时,它会根据clTemplates文件夹中的一个文件生成一个.cl文件,对吗?因此,只有39个基本OpenCL内核 更一般地说,我想知道AMD SDK是如何工作的?你说的“它是如何工作的”是什

clMath是AMD提供的一个开源项目。它包含一个clBLAS库。我检查了repo,发现所有函数都是用C编写的,而不是用OpenCL编写的。我看错文件了吗?OpenCL内核在哪里?如何在并行计算中使用C函数

实际上,有一个名为clTemplates的文件夹,所有.cl文件都在这个文件夹中。我想当调用一个函数时,它会根据clTemplates文件夹中的一个文件生成一个.cl文件,对吗?因此,只有39个基本OpenCL内核


更一般地说,我想知道AMD SDK是如何工作的?

你说的“它是如何工作的”是什么意思?你想做什么,或者你不清楚什么?CL代码不需要在.CL文件中。事实上,这个库是否附带了一堆.cl文件?答案显然是否定的。代码作为字符串存储在库中,并在运行时编译。在这个特定的例子中,CL代码是使用宏构建成字符串的,不,在真正创建内核的地方不容易理解。因为根据不同的事物,CbBLAs构建内核不同。我想知道当我在C++程序中调用一个CLABLAS函数时会发生什么,会产生OpenCL代码吗?它们是什么?他们在哪里?它们是否得到了优化?我可以调整一两个操作以获得更好的性能吗?我不知道clBLAS是如何工作的,但应用程序可以在内存中生成OpenCLC并提交给驱动程序。它根本不需要登录到.cl文件中。