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

OrbitalJIT.C File Reference

Just-in-time (JIT) CUDA and OpenCL kernel generation for computation of molecular orbitals on a uniformly spaced grid. More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "WKFThreads.h"
#include "OrbitalJIT.h"

Go to the source code of this file.

Defines

#define ANGS_TO_BOHR   1.8897259877218677f
#define UNROLLX   1
#define UNROLLY   1
#define BLOCKSIZEX   8
#define BLOCKSIZEY   8
#define BLOCKSIZE   BLOCKSIZEX * BLOCKSIZEY
#define TILESIZEX   BLOCKSIZEX*UNROLLX
#define TILESIZEY   BLOCKSIZEY*UNROLLY
#define GPU_X_ALIGNMASK   (TILESIZEX - 1)
#define GPU_Y_ALIGNMASK   (TILESIZEY - 1)
#define MEMCOALESCE   384
#define S_SHELL   0
#define P_SHELL   1
#define D_SHELL   2
#define F_SHELL   3
#define G_SHELL   4
#define H_SHELL   5
#define MAX_ATOM_SZ   256
#define MAX_ATOMPOS_SZ   (MAX_ATOM_SZ)
#define MAX_ATOM_BASIS_SZ   (MAX_ATOM_SZ)
#define MAX_ATOMSHELL_SZ   (MAX_ATOM_SZ)
#define MAX_BASIS_SZ   6144
#define MAX_SHELL_SZ   1024
#define MAX_WAVEF_SZ   6144

Functions

int orbital_jit_generate (int jitlanguage, const char *srcfilename, int numatoms, const float *wave_f, const float *basis_array, const int *atom_basis, const int *num_shells_per_atom, const int *num_prim_per_shell, const int *shell_types)


Detailed Description

Just-in-time (JIT) CUDA and OpenCL kernel generation for computation of molecular orbitals on a uniformly spaced grid.

Definition in file OrbitalJIT.C.


Define Documentation

#define ANGS_TO_BOHR   1.8897259877218677f
 

Definition at line 33 of file OrbitalJIT.C.

#define BLOCKSIZE   BLOCKSIZEX * BLOCKSIZEY
 

Definition at line 40 of file OrbitalJIT.C.

#define BLOCKSIZEX   8
 

Definition at line 38 of file OrbitalJIT.C.

Referenced by orbital_jit_generate.

#define BLOCKSIZEY   8
 

Definition at line 39 of file OrbitalJIT.C.

Referenced by orbital_jit_generate.

#define D_SHELL   2
 

Definition at line 53 of file OrbitalJIT.C.

Referenced by orbital_jit_generate.

#define F_SHELL   3
 

Definition at line 54 of file OrbitalJIT.C.

Referenced by orbital_jit_generate.

#define G_SHELL   4
 

Definition at line 55 of file OrbitalJIT.C.

Referenced by orbital_jit_generate.

#define GPU_X_ALIGNMASK   (TILESIZEX - 1)
 

Definition at line 45 of file OrbitalJIT.C.

#define GPU_Y_ALIGNMASK   (TILESIZEY - 1)
 

Definition at line 46 of file OrbitalJIT.C.

#define H_SHELL   5
 

Definition at line 56 of file OrbitalJIT.C.

#define MAX_ATOM_BASIS_SZ   (MAX_ATOM_SZ)
 

Definition at line 66 of file OrbitalJIT.C.

#define MAX_ATOM_SZ   256
 

Definition at line 61 of file OrbitalJIT.C.

#define MAX_ATOMPOS_SZ   (MAX_ATOM_SZ)
 

Definition at line 63 of file OrbitalJIT.C.

#define MAX_ATOMSHELL_SZ   (MAX_ATOM_SZ)
 

Definition at line 69 of file OrbitalJIT.C.

#define MAX_BASIS_SZ   6144
 

Definition at line 72 of file OrbitalJIT.C.

#define MAX_SHELL_SZ   1024
 

Definition at line 75 of file OrbitalJIT.C.

#define MAX_WAVEF_SZ   6144
 

Definition at line 79 of file OrbitalJIT.C.

#define MEMCOALESCE   384
 

Definition at line 48 of file OrbitalJIT.C.

#define P_SHELL   1
 

Definition at line 52 of file OrbitalJIT.C.

Referenced by orbital_jit_generate.

#define S_SHELL   0
 

Definition at line 51 of file OrbitalJIT.C.

Referenced by orbital_jit_generate.

#define TILESIZEX   BLOCKSIZEX*UNROLLX
 

Definition at line 43 of file OrbitalJIT.C.

#define TILESIZEY   BLOCKSIZEY*UNROLLY
 

Definition at line 44 of file OrbitalJIT.C.

#define UNROLLX   1
 

Definition at line 36 of file OrbitalJIT.C.

#define UNROLLY   1
 

Definition at line 37 of file OrbitalJIT.C.


Function Documentation

int orbital_jit_generate int    jitlanguage,
const char *    srcfilename,
int    numatoms,
const float *    wave_f,
const float *    basis_array,
const int *    atom_basis,
const int *    num_shells_per_atom,
const int *    num_prim_per_shell,
const int *    shell_types
 

Definition at line 86 of file OrbitalJIT.C.

References BLOCKSIZEX, BLOCKSIZEY, D_SHELL, F_SHELL, G_SHELL, NULL, ORBITAL_JIT_CUDA, ORBITAL_JIT_OPENCL, P_SHELL, and S_SHELL.


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