列出帖子

该操作将允许你查看该会员所有的帖子,注意你只能看到你有权限看到的板块的帖子。


显示所有帖子 - lukaku

页: [1]
1
OpenCL / float 问题
« 于: 十一月 17, 2022, 05:10:45 pm »
请教下,
read_imagef 读出来的都是归一化的,[0.0, 1.0]之间的图像数据,
经过计算后,会有 1.001962, 这个其实就是1.0 ,0.00192 这个实际是0.0,  也有-0.00192,这个也是0.0
因为最小像素值1
>>> 1/255
0.00392156862745098
小于0.00392的可以忽略为0.


 如果1.001962 , 0.001962  这种值直接wrtie_imagef会有问题, 这种精度问题怎么处理,一个一个判断有点费时间,opencl write_imagef 有类似处理的方法吗?


2
OpenCL / Re: opencl variance
« 于: 十月 13, 2022, 10:56:44 am »
用python 模拟了下,输出了结果,但是还是没明白,
import math
def mad_f4 (l,s):
  for i in range(4):
    s =  l * l + s
   
  return s

s_0=[0.0,0.0,0.0,0.0]
l_0 = [1.0, 2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0]

for i in range(9):
  print(l_0[i:i+4:1])
  s_0 = mad_f4(l_0[i:i+4:1], s_0)
 
print(s_0)


'''
[1.0, 2.0, 3.0, 4.0]
[2.0, 3.0, 4.0, 5.0]
[3.0, 4.0, 5.0, 6.0]
[4.0, 5.0, 6.0, 7.0]
[5.0, 6.0, 7.0, 8.0]
[6.0, 7.0, 8.0, 9.0]
[7.0, 8.0, 9.0, 10.0]
[8.0, 9.0, 10.0, 11.0]
[9.0, 10.0, 11.0, 12.0]
[285.0, 384.0, 501.0, 636.0]
'''

3
OpenCL / opencl variance
« 于: 十月 12, 2022, 07:47:29 pm »
看一段opencl variance 的代码,
有个片段不能完全理解是什么意图,是求平方和吗,为什么要每次移动1个float 进行相乘,求指点,多谢!
float16 test0;
//   读入 数据到test0
float4 test_sum = 0.0f;

test_sum[0] = mad(test0.s0123, test0.s0123, test_sum[0]);
test_sum[0] = mad(test0.s1234, test0.s1234, test_sum[0]);
test_sum[0] = mad(test0.s2345, test0.s2345, test_sum[0]);
test_sum[0] = mad(test0.s3456, test0.s3456, test_sum[0]);
test_sum[0] = mad(test0.s4567, test0.s4567, test_sum[0]);
test_sum[0] = mad(test0.s5678, test0.s5678, test_sum[0]);
test_sum[0] = mad(test0.s6789, test0.s6789, test_sum[0]);
test_sum[0] = mad(test0.s789a, test0.s789a, test_sum[0]);
test_sum[0] = mad(test0.s89ab, test0.s89ab, test_sum[0]);

页: [1]