GLSL层卷积(宽*高*输出通道数)(计算单位数)

通过将计算单位从iWidth * iHeight增加到iWidth * iHeight * outNum,GLSL层卷积的计算速度得以显著提升,着色器的优化使得处理效率更高效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

增加计算单位数,可以加快计算速度。

计算单位 从 iWidth * iHeight 增加到 iWidth * iHeight * outNum:

	mNumGroupsX = iWidth;
	int xSize = iHeight;
	mNumGroupsY = outNum;
	mNumGroupsZ = 1;//inNum;
	if (iHeight > 1024)
		printf("图片高度太大,不支持\n");
	else
		textureParameters.shader_source = ShaderSource(xSize, 1);

着 色器:

#version 430 core
layout (local_size_x = LOCAL_SIZE_X, local_size_y = LOCAL_SIZE_Y, local_size_z = 1) in;
uniform int w;
uniform int h;
//输入
uniform int inNum;
//输出
uniform int outNum;
//偏置
uniform float bias[64];  
//激活
uniform int active; 

// 传递卷积核
uniform int kw;
layout(std430, binding = 0) buffer bufferObject
{
	float all[];//最后一个数组可不设置长度
};



void main(void)
{

	ivec3 pos = ivec3(gl_GlobalInvocationID.xyz);

	int wh=w*h;
	float indata ;
	//指向核位置
	int k_index = wh*outNum;//核起始位置
	int ksize=kw*kw;
	int in_inde
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值