OpenCL
2022/8/11 23:23:25
本文主要是介绍OpenCL,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
http://man.opencl.org/dataTypes.html
https://stackoverflow.com/questions/28904114/opencl-sending-float3-host-to-device
https://community.khronos.org/t/typedef-cl-float4-cl-float3-cl-platform-h/2530
They shouldn’t and they won’t. cl_float3 is identical in size, alignment, and behavior to cl_float4.
It’s really just there to let you write self-documenting code. You can just as well use cl_float4 and forget that cl_float3 ever existed. It’s a convenience but the opencl types such as float and double are aligned to powers of 2 (cl_float2, cl_float4, cl_float8, and cl_float16 which are aligned to 8, 16, 32, and 64 bytes respectively).
Typedef is just saying “use this type but call it another name.” What’s being done with “typedef cl_float4 cl_float3” is that you’re being allowed to say your variable is a type of cl_float3 but to the machine, it still sees it as a cl_float4. No matter what you call it, the machine will still treat it the same.
https://www.codenong.com/17361274/
https://community.amd.com/t5/archives-discussions/cl-float3/td-p/333687
In a kernel it must be an error, not in the host program, as the spec only defines the kernel language definition. From the spec:
"float3 pos;
pos.z = 1.0f; // is legal
pos.w = 1.0f; // is illegal"
This only is illegal for a float3, not a cl_float3.
On a side note, the header file that defines cl_float3 is straight from Khronos, not something that we create. So if it is behavior you want changed, you need to go through Khronos to get it changed.
https://github.com/KhronosGroup/OpenCL-Headers/blob/main/CL/cl_platform.h
/* cl_float3 is identical in size, alignment and behavior to cl_float4. See section 6.1.5. */ typedef cl_float4 cl_float3;
这篇关于OpenCL的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-26高性能表格工具VTable总体构成-icode9专业技术文章分享
- 2024-04-16软路由代理问题, tg 无法代理问题-icode9专业技术文章分享
- 2024-04-16程序猿用什么锅-icode9专业技术文章分享
- 2024-04-16自建 NAS 的方案-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数, 加上remote_src: yes 配置-icode9专业技术文章分享
- 2024-04-14ansible 检测远程主机的8080端口,如果关闭,则echo 进程已关闭-icode9专业技术文章分享
- 2024-04-14result 成功怎么写-icode9专业技术文章分享
- 2024-04-14stopped 状态设置为变量,由外部传递进来-icode9专业技术文章分享
- 2024-04-14为什么ansible执行远程脚本需要放到后台-icode9专业技术文章分享