Skip to content
Snippets Groups Projects
Commit 833be914 authored by ='s avatar =
Browse files

test

parent c0938223
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ __device__ int get_val_if_in(int* src,int x,int y,int i, int j){ ...@@ -7,7 +7,7 @@ __device__ int get_val_if_in(int* src,int x,int y,int i, int j){
if(i>=x || i<0 || j>=y || j<0){ if(i>=x || i<0 || j>=y || j<0){
return 0; return 0;
} }
return src[i*(y-1)+j]; return src[(j-1)*x+i];
} }
__device__ int life_destiny(int* src, int x,int y,int i, int j){ __device__ int life_destiny(int* src, int x,int y,int i, int j){
...@@ -18,7 +18,7 @@ __device__ int life_destiny(int* src, int x,int y,int i, int j){ ...@@ -18,7 +18,7 @@ __device__ int life_destiny(int* src, int x,int y,int i, int j){
destiny += get_val_if_in(src,x,y,a,b); destiny += get_val_if_in(src,x,y,a,b);
} }
} }
destiny -= src[i*(y-1)+j]; destiny -= src[(j-1)*x+i];
if(src[i*(y-1)+j]){ if(src[i*(y-1)+j]){
if(destiny > 3 || destiny < 2){ if(destiny > 3 || destiny < 2){
...@@ -74,8 +74,8 @@ void life(int* domain, int H, int W, int n_iter, dim3 grid_dim, dim3 block_dim){ ...@@ -74,8 +74,8 @@ void life(int* domain, int H, int W, int n_iter, dim3 grid_dim, dim3 block_dim){
CUDA_CALL(cudaMalloc(&d_domain1, n_bytes)); CUDA_CALL(cudaMalloc(&d_domain1, n_bytes));
CUDA_CALL(cudaMalloc(&d_domain2, n_bytes)); CUDA_CALL(cudaMalloc(&d_domain2, n_bytes));
cudaMemset(d_domain2, 0, n_bytes); CUDA_CALL(cudaMemset(d_domain2, 0, n_bytes));
cudaMemcpy(d_domain1,domain,n_bytes,cudaMemcpyHostToDevice); CUDA_CALL(cudaMemcpy(d_domain1,domain,n_bytes,cudaMemcpyHostToDevice));
for(int i = 0; i<n_iter; i++){ for(int i = 0; i<n_iter; i++){
...@@ -85,12 +85,12 @@ void life(int* domain, int H, int W, int n_iter, dim3 grid_dim, dim3 block_dim){ ...@@ -85,12 +85,12 @@ void life(int* domain, int H, int W, int n_iter, dim3 grid_dim, dim3 block_dim){
else{ else{
dummy_kernel<<<grid_dim, block_dim>>>(d_domain2,d_domain1,H,W); dummy_kernel<<<grid_dim, block_dim>>>(d_domain2,d_domain1,H,W);
} }
cudaDeviceSynchronize(); CUDA_CALL(cudaDeviceSynchronize());
} }
cudaMemcpy(domain,d_domain2,n_bytes,cudaMemcpyDeviceToHost); CUDA_CALL(cudaMemcpy(domain,d_domain2,n_bytes,cudaMemcpyDeviceToHost));
cudaFree(d_domain1); CUDA_CALL(cudaFree(d_domain1));
cudaFree(d_domain2); CUDA_CALL(cudaFree(d_domain2));
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment