hello OpenCL——设备信息查询及编译(1)

Ubuntu下,NVIDIA的驱动和Open CL安装后,就可以开发OpenCL程序了。
Mac OS X 10.6下,直接可用

这两个平台上使用的差别有两个:
[list]
[*]include头文件的位置不同(这个本来可以不是问题的,抱怨一下)
[*]编译的不同
[/list]
在Ubuntu 9.10中,缺省情况下:
[list]
[*]头文件都放在/usr/include/CL目录下,
[*]动态链接库libOpenCL.so放在/usr/lib目录下
[/list]
写一个C语言的Hello程序opencl_hello.c试试

#include <stdio.h>
#include <stdlib.h>
#ifdef __APPLE__
#include <OpenCL/cl.h>
#elif defined(__linux__)
#include <CL/cl.h>
#endif

int main()
{
cl_uint NumPlatforms;
clGetPlatformIDs (0, NULL, &NumPlatforms);

cl_platform_id PlatformIDs[NumPlatforms];
clGetPlatformIDs(NumPlatforms, PlatformIDs, NULL);

char platformName[64];
size_t nameLen;
cl_int res = clGetPlatformInfo((PlatformIDs[0], CL_PLATFORM_NAME, 64, platformName, &nameLen);
if (res != CL_SUCCESS) {
fprintf(stderr, "Err: %d\n", res);
exit(1);
}
platformName[nameLen] = 0;

char openclVersion[64];
res = clGetPlatformInfo(NULL, CL_PLATFORM_VERSION, 64, openclVersion, &nameLen);
if (res != CL_SUCCESS) {
fprintf(stderr, "Err: %d\n", res);
exit(1);
}
openclVersion[nameLen] = 0;
printf("hello, %s's %s\n", platformName, openclVersion);

return 0;
}


编译:
Linux:
gcc opencl_hello.c -lOpenCL


Mac OS X:
gcc opencl_hello.c -framework OpenCL



执行:
Linux$ ./a.out
hello, NVIDIA's OpenCL 1.0

MacOSX$./a.out
hello, Apple's OpenCL 1.0 (Oct 16 2009 04:12:08)

[size=large]进一步参考资料:[/size]
[list=1]
[*][url=http://www.khronos.org/registry/cl/]OpenCL规范[/url]
[*][url=http://www.khronos.org/files/opencl-quick-reference-card.pdf]OpenCL API 1.0 quick reference card[/url]
[*][url=http://www.nvidia.com/content/cudazone/download/OpenCL/NVIDIA_OpenCL_ProgrammingGuide.pdf]OpenCL Programming Guide[/url]
[*][url=http://developer.download.nvidia.com/OpenCL/NVIDIA_OpenCL_JumpStart_Guide.pdf]OpenCL Jump Start: 比较了OpenCL和CUDA[/url]
[*][url=http://developer.apple.com/mac/library/documentation/Performance/Conceptual/OpenCL_MacProgGuide/OpenCL_MacProgGuide.pdf]OpenCL Programming Guide for Mac OS X[/url]
[/list]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值