#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cuda.h>
#include "Inform.h"
#include "utilities.h"
#include "WKFThreads.h"
#include "WKFUtils.h"
#include "CUDAKernels.h"
#include "CUDASpatialSearch.h"
#include "CUDAMarchingCubes.h"
#include "CUDAQuickSurf.h"
#include "DispCmds.h"
#include "VMDDisplayList.h"
Go to the source code of this file.
Defines | |
#define | CUERR |
#define | RESTRICT |
#define | GGRIDSZ 8.0f |
#define | GBLOCKSZX 8 |
#define | GBLOCKSZY 8 |
#define | GTEXBLOCKSZZ 2 |
#define | GTEXUNROLL 4 |
#define | GBLOCKSZZ 2 |
#define | GUNROLL 4 |
#define | MAXTHRDENS ( GBLOCKSZX * GBLOCKSZY * GBLOCKSZZ ) |
#define | MINBLOCKDENS 1 |
Functions | |
__host__ __device__ float3 | operator * (float3 a, float b) |
__host__ __device__ void | operator+= (float3 &a, float3 b) |
__device__ float3 | make_float3 (float4 a) |
__device__ void | convert_density (float &df, float df2) |
__device__ void | convert_density (unsigned short &dh, float df2) |
__device__ void | convert_color (float3 &cf, float3 cf2, float invisovalue) |
__device__ void | convert_color (uchar4 &cu, float3 cf, float invisovalue) |
__device__ void | convert_color (float3 &cf, uchar4 cu) |
template<class DENSITY, class VOLTEX> __global__ void | __launch_bounds__ (MAXTHRDENS, MINBLOCKDENS) gaussdensity_fast_tex_norm(int natoms |
Variables | |
__global__ void const float4 *RESTRICT | sorted_xyzr |
__global__ void const float4 *RESTRICT const float4 *RESTRICT | sorted_color |
__global__ void const float4 *RESTRICT const float4 *RESTRICT int3 | volsz |
__global__ void const float4 *RESTRICT const float4 *RESTRICT int3 int3 | acncells |
__global__ void const float4 *RESTRICT const float4 *RESTRICT int3 int3 float | acgridspacing |
__global__ void const float4 *RESTRICT const float4 *RESTRICT int3 int3 float float | invacgridspacing |
__global__ void const float4 *RESTRICT const float4 *RESTRICT int3 int3 float float const uint2 *RESTRICT | cellStartEnd |
__global__ void const float4 *RESTRICT const float4 *RESTRICT int3 int3 float float const uint2 *RESTRICT float | gridspacing |
__global__ void const float4 *RESTRICT const float4 *RESTRICT int3 int3 float float const uint2 *RESTRICT float unsigned int | z |
__global__ void const float4 *RESTRICT const float4 *RESTRICT int3 int3 float float const uint2 *RESTRICT float unsigned int DENSITY *RESTRICT | densitygrid |
__global__ void const float4 *RESTRICT const float4 *RESTRICT int3 int3 float float const uint2 *RESTRICT float unsigned int DENSITY *RESTRICT VOLTEX *RESTRICT | voltexmap |
This work is described in the following papers:
"GPU-Accelerated Molecular Visualization on Petascale Supercomputing Platforms" John E. Stone, Kirby L. Vandivort, and Klaus Schulten. UltraVis'13: Proceedings of the 8th International Workshop on Ultrascale Visualization, pp. 6:1-6:8, 2013. http://dx.doi.org/10.1145/2535571.2535595
"Early Experiences Scaling VMD Molecular Visualization and Analysis Jobs on Blue Waters" John E. Stone, Barry Isralewitz, and Klaus Schulten. Extreme Scaling Workshop (XSW), pp. 43-50, 2013. http://dx.doi.org/10.1109/XSW.2013.10
"Fast Visualization of Gaussian Density Surfaces for Molecular Dynamics and Particle System Trajectories" Michael Krone, John E. Stone, Thomas Ertl, and Klaus Schulten. EuroVis - Short Papers, pp. 67-71, 2012. http://dx.doi.org/10.2312/PE/EuroVisShort/EuroVisShort2012/067-071
Definition in file CUDAQuickSurf.cu.
|
Value: { cudaError_t err; \ if ((err = cudaGetLastError()) != cudaSuccess) { \ printf("CUDA error: %s, %s line %d\n", cudaGetErrorString(err), __FILE__, __LINE__); \ printf("Thread aborting...\n"); \ return NULL; }} Definition at line 67 of file CUDAQuickSurf.cu. |
|
Definition at line 178 of file CUDAQuickSurf.cu. Referenced by CUDAQuickSurf::calc_surf. |
|
Definition at line 179 of file CUDAQuickSurf.cu. Referenced by CUDAQuickSurf::calc_surf. |
|
Definition at line 184 of file CUDAQuickSurf.cu. Referenced by CUDAQuickSurf::calc_surf. |
|
Definition at line 177 of file CUDAQuickSurf.cu. |
|
Definition at line 182 of file CUDAQuickSurf.cu. Referenced by CUDAQuickSurf::calc_surf. |
|
Definition at line 183 of file CUDAQuickSurf.cu. Referenced by CUDAQuickSurf::calc_surf. |
|
Definition at line 185 of file CUDAQuickSurf.cu. Referenced by CUDAQuickSurf::calc_surf. |
|
Definition at line 193 of file CUDAQuickSurf.cu. |
|
Definition at line 201 of file CUDAQuickSurf.cu. |
|
Definition at line 171 of file CUDAQuickSurf.cu. |
|
|
|
Definition at line 157 of file CUDAQuickSurf.cu. Referenced by generateTriangleColorNormal, and sampleColors. |
|
Definition at line 132 of file CUDAQuickSurf.cu. |
|
Definition at line 125 of file CUDAQuickSurf.cu. |
|
Definition at line 114 of file CUDAQuickSurf.cu. |
|
Definition at line 108 of file CUDAQuickSurf.cu. |
|
|
Definition at line 82 of file CUDAQuickSurf.cu. References make_float3. |
|
Definition at line 87 of file CUDAQuickSurf.cu. |
|
Definition at line 215 of file CUDAQuickSurf.cu. Referenced by calc_ac_cell_ids, CUDAQuickSurf::calc_surf, gaussdensity_cc, gaussdensity_diff, gaussdensity_fast, gaussdensity_sumabsdiff, vmd_cuda_build_accel, vmd_cuda_cc_calc, and vmd_cuda_gaussdensity_calc. |
|
Definition at line 215 of file CUDAQuickSurf.cu. Referenced by calc_ac_cell_ids, calc_densities, gaussdensity_cc, gaussdensity_diff, gaussdensity_fast, and gaussdensity_sumabsdiff. |
|
Definition at line 215 of file CUDAQuickSurf.cu. Referenced by calc_densities, gaussdensity_cc, gaussdensity_diff, gaussdensity_fast, and gaussdensity_sumabsdiff. |
|
Definition at line 215 of file CUDAQuickSurf.cu. Referenced by gaussdensity_fast. |
|
|
Definition at line 215 of file CUDAQuickSurf.cu. Referenced by calc_ac_cell_ids, CUDAQuickSurf::calc_surf, gaussdensity_cc, gaussdensity_diff, gaussdensity_fast, and gaussdensity_sumabsdiff. |
|
Definition at line 215 of file CUDAQuickSurf.cu. |
|
Definition at line 215 of file CUDAQuickSurf.cu. Referenced by calc_densities, gaussdensity_cc, gaussdensity_diff, gaussdensity_fast, and gaussdensity_sumabsdiff. |
|
|
Definition at line 215 of file CUDAQuickSurf.cu. Referenced by vmd_gaussdensity_avx2, vmd_gaussdensity_opt, vmd_gaussdensity_threaded, volin_threaded, and volin_threaded_prob. |
|