public class CudaGPUGradientsPhero extends CudaPheromone implements CudaObject
Modifier and Type | Field and Description |
---|---|
protected jcuda.driver.CUdeviceptr |
fieldMaxDirPtr |
protected jcuda.Pointer |
maxPinnedMemory |
arrPointer, testDevicePtr
Constructor and Description |
---|
CudaGPUGradientsPhero(String name,
int width,
int height,
float evapPercentage,
float diffPercentage) |
Modifier and Type | Method and Description |
---|---|
void |
diffusionAndEvaporation()
This is faster than calling them sequentially:
Only one GPU kernel is called.
|
void |
freeMemory() |
int |
getMaxDirection(int i,
int j) |
void |
initCuda() |
protected void |
initFunctions() |
diffusion, evaporation, get, getCudaEngine, getParamterPointer, getPointerToFloat, getValues, getValuesFloatBuffer, getValuesPinnedMemory, getValuesPtr, initCudaArray, initCudaParameters, initCudaStream, initCudaTmpGrid, initCudaValues, launchKernel, set, setCudaEngine, setValues, setValuesPinnedMemory, setValuesPtr
get, get1DIndex, getDiffusionCoefficient, getDiffusionPercentage, getEvaporationCoefficient, getEvaporationPercentage, getHeight, getMaximum, getMinDirection, getName, getWidth, incValue, incValue, set, setEvaporationPercentage, setMaximum, toString, updateFieldMaxDir
protected jcuda.driver.CUdeviceptr fieldMaxDirPtr
protected jcuda.Pointer maxPinnedMemory
public CudaGPUGradientsPhero(String name, int width, int height, float evapPercentage, float diffPercentage)
public void initCuda()
initCuda
in class CudaPheromone
protected void initFunctions()
initFunctions
in class CudaPheromone
public void diffusionAndEvaporation()
diffusionAndEvaporation
in class CudaPheromone
public int getMaxDirection(int i, int j)
getMaxDirection
in class Pheromone
public void freeMemory()
freeMemory
in interface CudaObject
freeMemory
in class CudaPheromone