vectoradd.cpp

来自「一个简单的基于CUDA的示例代码」· C++ 代码 · 共 39 行

CPP
39
字号
#include <stdio.h>

extern "C" void add_vector_gpu( float* a, float* b, float *c, int size );

void add_vector_cpu( float* a, float* b, float *c, int size )
{
	for( int i = 0; i < size; ++ i )
		c[i] = a[i] + b[i];
}

void main( int argc, char** argv) 
{
	// initial data
	int	data_size = 100;
	float	*dataA = new float[data_size],
			*dataB = new float[data_size],
			*dataC = new float[data_size],
			*dataD = new float[data_size];

	for( int i = 0; i < data_size; ++ i )
	{
		dataA[i] = i;
		dataB[i] = -1 * i;
	}

	// run CPU program
	add_vector_cpu( dataA, dataB, dataC, data_size );

	// run GPU program
	add_vector_gpu( dataA, dataB, dataD, data_size );

	// compare the result
	for( int i = 0; i < data_size; ++ i )
	{
		if( dataC[i] != dataD[i] )
			printf( "Error!! (%f & %f)\n", dataC[i], dataD[i] );
	}
}

⌨️ 快捷键说明

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