This commit is contained in:
2026-04-27 20:02:46 -04:00
commit 15d59d9f9a
23 changed files with 1205 additions and 0 deletions

View File

@ -0,0 +1,75 @@
#ifndef __AMSCUDAFRACTALLEVELSET_HPP__
#define __AMSCUDAFRACTALLEVELSET_HPP__
//Std Lib Includes
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdint.h>
#include <time.h>
//C++ standard library headers
#include <new>
#include <thread>
#include <functional>
#include <mutex>
#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;
AMSCU_CONST static const int amscu_success = 1;
AMSCU_CONST static const int amscu_meh = 0;
AMSCU_CONST static const int amscu_failure = -1;
}; //end namespace amscuda
//Components
#include <amsculib3/amscu_cudafunctions.hpp>
#include <amsculib3/math/amscumath.hpp>
#include <amsculib3/geom/amscugeom.hpp>
#include <amsculib3/util/amscu_util.hpp>
#include <amsculib3/amscuarray.hpp>
#include <amsculib3/amscuda_binarrrw.hpp>
#include <amsculib3/random/amscurandom.cuh>
#include <amsculib3/amscuarray_dops.hpp>
#include <amsculib3/amscurarray.cuh>
#endif