64 lines
1.3 KiB
C++
64 lines
1.3 KiB
C++
#ifndef __AMSCULIB3_HPP__
|
|
#define __AMSCULIB3_HPP__
|
|
|
|
//Std Lib Includes
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <math.h>
|
|
#include <stdint.h>
|
|
#include <time.h>
|
|
#include <new>
|
|
|
|
#include <cuda_runtime_api.h> //where all the cuda functions live
|
|
#include <cuda_runtime.h>
|
|
#include <cuda.h>
|
|
|
|
//Dependencies
|
|
|
|
//Predeclarations
|
|
class cuvect2;
|
|
class cuvect3;
|
|
class cuvect4;
|
|
class cuvec2f;
|
|
class cuvec3f;
|
|
class cuvec4f;
|
|
|
|
//Need a way to define the same symbols using both host and device code
|
|
//A solution was found here: https://stackoverflow.com/questions/9457572/cuda-host-and-device-using-same-constant-memory
|
|
#ifdef __CUDA_ARCH__
|
|
#define AMSCU_CONST __constant__
|
|
#else
|
|
#define AMSCU_CONST
|
|
#endif
|
|
|
|
namespace amscuda
|
|
{
|
|
|
|
//default thread and block execution
|
|
AMSCU_CONST static const int amscu_defnblocks = 256;
|
|
AMSCU_CONST static const int amscu_defnthreads = 512;
|
|
|
|
//default numthreads to execute on cpu
|
|
AMSCU_CONST static const int amscu_defcputhreads = 8;
|
|
|
|
}; //end namespace amscuda
|
|
|
|
//Components
|
|
#include <amsculib3/amscu_cudafunctions.hpp>
|
|
#include <amsculib3/math/amscumath.hpp>
|
|
#include <amsculib3/geom/amscugeom.hpp>
|
|
|
|
#include <amsculib3/amscuarray.hpp>
|
|
#include <amsculib3/amscuda_binarrrw.hpp>
|
|
#include <amsculib3/amscu_random.hpp>
|
|
|
|
#include <amsculib3/amscuarray_dops.hpp>
|
|
|
|
#include <amsculib3/amscurarray.cuh>
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|