Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

QuickSurf.C File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "QuickSurf.h"
#include "Measure.h"
#include "Inform.h"
#include "utilities.h"
#include "WKFUtils.h"
#include "VolumetricData.h"
#include "VMDDisplayList.h"
#include "Displayable.h"
#include "DispCmds.h"
#include "ProfileHooks.h"
#include "VMDApp.h"

Go to the source code of this file.

Compounds

struct  densitythrparms
union  flint_t

Defines

#define VMDQSURFUSESSE   1
#define MIN(X, Y)   (((X)<(Y))? (X) : (Y))
#define MAX(X, Y)   (((X)>(Y))? (X) : (Y))
#define __align(X)   __declspec(align(X) )
#define MLOG2EF   -1.44269504088896f
#define SCEXP0   1.0000000000000000f
#define SCEXP1   0.6987082824680118f
#define SCEXP2   0.2633174272827404f
#define SCEXP3   0.0923611991471395f
#define SCEXP4   0.0277520543324108f
#define EXPOBIAS   127
#define EXPOSHIFT   23
#define ACUTOFF   -10

Typedefs

typedef flint_t flint

Functions

void vmd_gaussdensity_avx2 (int verbose, int natoms, const float *xyzr, const float *atomicnum, const float *colors, float *densitymap, float *voltexmap, const int *numvoxels, float radscale, float gridspacing, float isovalue, float gausslim)
void vmd_gaussdensity_neon (int verbose, int natoms, const float *xyzr, const float *atomicnum, const float *colors, float *densitymap, float *voltexmap, const int *numvoxels, float radscale, float gridspacing, float isovalue, float gausslim)
void vmd_gaussdensity_opt (wkf_cpu_caps_t *cpucaps, int verbose, int natoms, const float *xyzr, const float *atomicnum, const float *colors, float *densitymap, float *voltexmap, const int *numvoxels, float radscale, float gridspacing, float isovalue, float gausslim)
void * densitythread (void *voidparms)
void * reductionthread (void *voidparms)
int vmd_gaussdensity_threaded (wkf_cpu_caps_t *cpucaps, int verbose, int natoms, const float *xyzr, const float *atomicnum, const float *colors, float *densitymap, float *voltexmap, const int *numvoxels, float radscale, float gridspacing, float isovalue, float gausslim)


Define Documentation

#define __align      __declspec(align(X) )
 

Definition at line 142 of file QuickSurf.C.

Referenced by vmd_gaussdensity_avx2, and vmd_gaussdensity_opt.

#define ACUTOFF   -10
 

Definition at line 162 of file QuickSurf.C.

#define EXPOBIAS   127
 

Definition at line 158 of file QuickSurf.C.

Referenced by vmd_gaussdensity_opt.

#define EXPOSHIFT   23
 

Definition at line 159 of file QuickSurf.C.

Referenced by vmd_gaussdensity_opt.

#define MAX X,
     (((X)>(Y))? (X) : (Y))
 

Definition at line 76 of file QuickSurf.C.

#define MIN X,
     (((X)<(Y))? (X) : (Y))
 

Definition at line 75 of file QuickSurf.C.

#define MLOG2EF   -1.44269504088896f
 

Definition at line 145 of file QuickSurf.C.

Referenced by vmd_gaussdensity_opt.

#define SCEXP0   1.0000000000000000f
 

Definition at line 151 of file QuickSurf.C.

Referenced by vmd_gaussdensity_opt.

#define SCEXP1   0.6987082824680118f
 

Definition at line 152 of file QuickSurf.C.

Referenced by vmd_gaussdensity_opt.

#define SCEXP2   0.2633174272827404f
 

Definition at line 153 of file QuickSurf.C.

Referenced by vmd_gaussdensity_opt.

#define SCEXP3   0.0923611991471395f
 

Definition at line 154 of file QuickSurf.C.

Referenced by vmd_gaussdensity_opt.

#define SCEXP4   0.0277520543324108f
 

Definition at line 155 of file QuickSurf.C.

Referenced by vmd_gaussdensity_opt.

#define VMDQSURFUSESSE   1
 

Definition at line 31 of file QuickSurf.C.


Typedef Documentation

typedef union flint_t flint
 


Function Documentation

void* densitythread void *    voidparms [static]
 

Definition at line 918 of file QuickSurf.C.

References densitythrparms::atomicnum, densitythrparms::colors, densitythrparms::cpucaps, wkf_tasktile_struct::end, densitythrparms::gausslim, densitythrparms::gridspacing, densitythrparms::isovalue, NULL, densitythrparms::numvoxels, densitythrparms::radscale, wkf_tasktile_struct::start, densitythrparms::thrdensitymaps, densitythrparms::thrvoltexmaps, densitythrparms::verbose, vmd_gaussdensity_opt, WKF_SCHED_DONE, wkf_threadlaunch_getdata, wkf_threadlaunch_getid, wkf_threadlaunch_next_tile, and densitythrparms::xyzr.

Referenced by vmd_gaussdensity_threaded.

void* reductionthread void *    voidparms [static]
 

Definition at line 947 of file QuickSurf.C.

References wkf_tasktile_struct::end, NULL, densitythrparms::numvoxels, wkf_tasktile_struct::start, densitythrparms::thrdensitymaps, densitythrparms::thrvoltexmaps, WKF_SCHED_DONE, wkf_threadlaunch_getdata, wkf_threadlaunch_getid, and wkf_threadlaunch_next_tile.

Referenced by vmd_gaussdensity_threaded.

void vmd_gaussdensity_avx2 int    verbose,
int    natoms,
const float *    xyzr,
const float *    atomicnum,
const float *    colors,
float *    densitymap,
float *    voltexmap,
const int *    numvoxels,
float    radscale,
float    gridspacing,
float    isovalue,
float    gausslim
 

Definition at line 133 of file QuickSurf_AVX2.C.

void vmd_gaussdensity_neon int    verbose,
int    natoms,
const float *    xyzr,
const float *    atomicnum,
const float *    colors,
float *    densitymap,
float *    voltexmap,
const int *    numvoxels,
float    radscale,
float    gridspacing,
float    isovalue,
float    gausslim
 

Referenced by vmd_gaussdensity_opt.

void vmd_gaussdensity_opt wkf_cpu_caps_t   cpucaps,
int    verbose,
int    natoms,
const float *    xyzr,
const float *    atomicnum,
const float *    colors,
float *    densitymap,
float *    voltexmap,
const int *    numvoxels,
float    radscale,
float    gridspacing,
float    isovalue,
float    gausslim
[static]
 

Definition at line 361 of file QuickSurf.C.

References __align, CPU_AVX2, CPU_FMA, EXPOBIAS, EXPOSHIFT, flint_t::f, wkf_cpu_caps_struct::flags, gridspacing, isovalue, MAX, MIN, MLOG2EF, flint_t::n, n, NULL, SCEXP0, SCEXP1, SCEXP2, SCEXP3, SCEXP4, vec_add, vec_sub, vmd_gaussdensity_avx2, vmd_gaussdensity_neon, voltexmap, and z.

Referenced by QuickSurf::calc_surf, and densitythread.

int vmd_gaussdensity_threaded wkf_cpu_caps_t   cpucaps,
int    verbose,
int    natoms,
const float *    xyzr,
const float *    atomicnum,
const float *    colors,
float *    densitymap,
float *    voltexmap,
const int *    numvoxels,
float    radscale,
float    gridspacing,
float    isovalue,
float    gausslim
[static]
 

Definition at line 986 of file QuickSurf.C.

References densitythrparms::atomicnum, densitythrparms::colors, densitythrparms::cpucaps, densitythread, wkf_tasktile_struct::end, densitythrparms::gausslim, densitythrparms::gridspacing, gridspacing, densitythrparms::isovalue, isovalue, densitythrparms::natoms, NULL, densitythrparms::numvoxels, densitythrparms::radscale, reductionthread, wkf_tasktile_struct::start, densitythrparms::thrdensitymaps, densitythrparms::thrvoltexmaps, densitythrparms::verbose, vmd_get_avail_physmem_mb, volsz, voltexmap, wkf_thread_numprocessors, wkf_threadlaunch, and densitythrparms::xyzr.

Referenced by QuickSurf::calc_surf.


Generated on Thu Apr 25 02:44:12 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002