split.br

来自「用于GPU通用计算的编程语言BrookGPU 0.4」· BR 代码 · 共 49 行

BR
49
字号
// split.br// trying to force BRCC to multipass a kernel... :)#include <stdio.h>kernel void big(	float4 arg1[], float4 arg2[], float4 arg3[],	float4 arg4[], float4 arg5<>, out float4 result<> ){	float temp = arg5.x;	temp = arg4[ temp ].x;	temp = arg3[ temp ].x;	temp = arg2[ temp ].x;	result = arg1[ temp ];}kernel void caller(	float4 arg1[], float4 arg2[], float4 arg3[],	float4 arg4[], float4 arg5<>, out float4 result<> ){	big( arg1, arg2, arg3, arg4, arg5, result );}int main () {	float4 a<10>;	float4 b<10>;	float4 a_data[10];	float4 b_data[10];	int i;		for( i = 0; i < 10; i++ )	{		a_data[i].x = (float)((i+1) % 10);		a_data[i].y = 1.0f;		a_data[i].z = (float)i;		a_data[i].w = 0.0f;	}		streamRead( a, a_data );	big( a, a, a, a, a, b );	streamWrite( b, b_data );		for( i = 0; i < 10; i++ )	{		printf("<%f %f %f>\n", b_data[i].x, b_data[i].y, b_data[i].z);	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?