本範例使用 constant memory,進行兩個整數的相加:

#include<stdio.h>
#include<time.h>
#include<stdlib.h>

__constant__ int const_gpu_a[2];

__global__ static void vecSum(int *sum){
	*sum = const_gpu_a[0] + const_gpu_a[1];
}

int main(int argc,char **argv)
{
	int s, *gpu_s;
	int a[2] = {1, 1};
	
	cudaMalloc((void**)&gpu_s, sizeof(int) * 1);
	cudaMemcpyToSymbol(const_gpu_a, a, sizeof(int) * 2);
	
	vecSum<<<1, 1>>>(gpu_s);
	cudaThreadSynchronize();
	
	cudaMemcpy(&s, gpu_s, sizeof(int) * 1, cudaMemcpyDeviceToHost);

	printf("sum: %d\n", s);	
	return 0;
}