- 博客(5)
- 资源 (3)
- 收藏
- 关注
原创 opencl:原子命令实现自旋锁(spinlock)的使用限制
原子命令很重要的用途就是互斥(mutexes)。互斥保证了每次只有一个work-item能访问数据。opencl也支持原子命令,在opencl最初始的版本1.0,原子命令是作为扩展功能(opencl extensions)来提供的(参见cl_khr_global_int32_base_atomics,cl_khr_global_int32_extended_atomics)。到opencl1.2以后
2016-05-29 16:11:10 2548 1
原创 opencl:获取每个计算单元(CU)中处理元件(PE)的数目
OpenCL 平台模型的定义如下图。模型中有一个主机,并且有一个或多个OpenCL 设备与其相连。每个OpenCL 设备可划分成一个或多个计算单元(CU),每个计算单元又可划分 成一个或多个处理元件(PE)。设备上的计算是在处理元件中进行的。 OpenCL 应用程序会按照主机平台的原生模型在这个主机上运行。主机上的OpenCL 应用程 序提交命令(command queue)给设备中的处理元
2016-05-23 11:01:25 7851 2
原创 opencl:c++接口(cl.hpp)利用cl::LocalSpaceArg设置__local 参数
当我们需要在kernel中使用local memory数组的时候,有两种方式定义local 数组 第一种,编译期静态定义,这是比较普通的使用方式,如下代码,这种方式,在编译期就分配了local 数组的大小。#define LOCAL_ARRAY_SIZE 64 // LOCAL_ARRAY_SIZE 可以通过编译选项-D在编译的时候定义__kernel void test_kernel( ){
2016-05-16 16:33:37 2375 1
原创 opencl:提高kernel有效并发约束(Effective concurrency constraint)的一点心得
下面是一个简单的kernel函数,从integ_count_mat矩阵中用vload8函数取出A1,A2,A3,A4四个向量执行A4+A1-A2-A3,结果存入density_mat,代码中只用到了一个向量类型的变量sum。__kernel void object_density_filter( matrix_info_cl im_info , const __
2016-05-09 14:51:17 2964 1
原创 opencl:clEnqueueNDRangeKernel执行报错CL_OUT_OF_RESOURCES的一种情况
我的电脑上之前的显卡比较老并不支持opencl,所以我之前开发时opencl代码其实都是在CPU上跑的,现在所有的代码都调试通过了,决定装块新显卡用于程序的性能测试。 今天显卡到了,装上之后运行程序,clEnqueueNDRangeKernel在执行下面的kernel时报错:CL_OUT_OF_RESOURCES。__kernel void prefix_sum_col_and_transpose
2016-05-03 16:02:00 5553 1
CMake脚本在ultraedit中的语法高亮支持
2023-06-08
erpcgen-windows-x86_64.zip
2020-09-17
windows下MSVC兼容的dirent.h
2016-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人