博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenCL异构计算资料收集
阅读量:6976 次
发布时间:2019-06-27

本文共 1271 字,大约阅读时间需要 4 分钟。

 

Easy OpenCL with Python

 

OpenCL与python联合工作:与CUDA的前景分析

 

如果你对python熟,可以用 PyOpenCL, 兼顾 host 端的简洁与 device 端的高效。kernel 函数可以写在单独的 *.cl 文件里, 一句 python 命令就可以 load + build: prg_src = open( 'kernel_test1.cl', 'r').read() prg = cl.Program(ctx, prg_src).build() #!/usr/bin/env python import numpy as np import pyopencl as cl a_np = np.random.rand(50000).astype(np.float32) b_np = np.random.rand(50000).astype(np.float32) ctx = cl.create_some_context() queue = cl.CommandQueue(ctx) mf =  cl.mem_flags a_g = cl.Buffer(ctx, mf.READ_ONLY | mf.COPY_HOST_PTR, hostbuf=a_np) b_g = cl.Buffer(ctx, mf.READ_ONLY | mf.COPY_HOST_PTR, hostbuf=b_np) prg = cl.Program(ctx, """         __kernel void sum(__global const float *a_g,                            __global const float *b_g,                            __global float *res_g)              {                 int gid = get_global_id(0);                 res_g[gid] = a_g[gid] + b_g[gid];             }             """).build() res_g = cl.Buffer(ctx, mf.WRITE_ONLY, a_np.nbytes) prg.sum(queue, a_np.shape, None, a_g, b_g, res_g) res_np = np.empty_like(a_np) cl.enqueue_copy(queue, res_np, res_g) # Check on CPU with Numpy: print(res_np - (a_np + b_np)) print(np.linalg.norm(res_np - (a_np + b_np)))

 

 

 

从零开始学习OpenCL开发(一)架构

 

 

在Android上使用OpenCL调用GPU加速

 

转载地址:http://flypl.baihongyu.com/

你可能感兴趣的文章
使用 HTML5 时如何改进移动 Web 应用开发
查看>>
《树莓派Python编程指南》——2.3 小结
查看>>
《Adobe After Effects CC经典教程》——导读
查看>>
《21世纪机器人》一一第1章 他用自己的思想打造机器人
查看>>
《Unity着色器和屏幕特效》——2.2 进阶的透明效果
查看>>
《Adobe Premiere Pro CC经典教程(彩色版)》——2.2 建立项目
查看>>
初级Java程序员所面临的4大挑战
查看>>
《算法基础:打开算法之门》一1.5 拓展阅读
查看>>
移动应用开发者应该关注的 Google I/O 两项更新
查看>>
2014 年美国程序员薪资调查
查看>>
方差,标准差,协方差、期望值
查看>>
java异常笔记
查看>>
区域链实践第一步——区域链测试环境搭建
查看>>
《C语言及程序设计》实践项目——画分支结构流程图
查看>>
Qt 自定义信号与槽
查看>>
百度地图 ip查询 service
查看>>
Java新手如何学习三大框架
查看>>
Learn Jenkins the hard way (0) - Jenkins的罪与罚
查看>>
Hadoop history
查看>>
mysql limit offset
查看>>