tAdded cudaMemcpy for linarr, fixed syntax typo - sphere - GPU-based 3D discret… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit c7f78b18b797dbca3702981e823f42c64a9bb18e | |
parent 5a74cfa8ba1c751e92ba190c00fe0d4a3d5acc56 | |
Author: Anders Damsgaard Christensen <[email protected]> | |
Date: Fri, 9 Nov 2012 22:09:04 +0100 | |
Added cudaMemcpy for linarr, fixed syntax typo | |
Diffstat: | |
M src/raytracer.cuh | 13 +++++++++++-- | |
1 file changed, 11 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/src/raytracer.cuh b/src/raytracer.cuh | |
t@@ -417,6 +417,7 @@ __host__ void DEM::render( | |
std::string desc; // Description of parameter visualized | |
std::string unit; // Unit of parameter values visualized | |
unsigned int i; | |
+ int transfer = 0; // If changed to 1, linarr will be copied to dev_linarr | |
// Visualize spheres without color scale overlay | |
if (method == 0) { | |
t@@ -439,6 +440,7 @@ __host__ void DEM::render( | |
+ k.vel[i].y*k.vel[i].y | |
+ k.vel[i].z*k.vel[i].z); | |
} | |
+ transfer = 1; | |
desc = "Linear velocity"; | |
unit = "m/s"; | |
t@@ -451,6 +453,7 @@ __host__ void DEM::render( | |
+ k.angvel[i].y*k.angvel[i].y | |
+ k.angvel[i].z*k.angvel[i].z); | |
} | |
+ transfer = 1; | |
desc = "Angular velocity"; | |
unit = "rad/s"; | |
t@@ -461,6 +464,7 @@ __host__ void DEM::render( | |
for (i = 0; i<np; ++i) { | |
linarr[i] = k.xysum[i].x; | |
} | |
+ transfer = 1; | |
desc = "X-axis displacement"; | |
unit = "m"; | |
t@@ -473,6 +477,7 @@ __host__ void DEM::render( | |
+ k.angpos[i].y*k.angpos[i].y | |
+ k.angpos[i].z*k.angpos[i].z); | |
} | |
+ transfer = 1; | |
desc = "Angular positions"; | |
unit = "rad"; | |
} | |
t@@ -480,13 +485,17 @@ __host__ void DEM::render( | |
// Report color visualization method and color map range | |
cout << " " << desc << " color map range: [0, " | |
- << maxval << "] " unit << endl; | |
+ << maxval << "] " << unit << endl; | |
+ | |
+ // Copy linarr to dev_linarr if required | |
+ if (transfer == 1) | |
+ cudaMemcpy(dev_linarr, &linarr, np*sizeof(Float), cudaMemcpyDeviceToHost… | |
// Start raytracing kernel | |
rayIntersectSpheresColormap<<< blocksPerGrid, threadsPerBlock >>>( | |
dev_ray_origo, dev_ray_direction, | |
dev_x, dev_vel, | |
- linarr, maxval, | |
+ dev_linarr, maxval, | |
dev_img); | |
} |