0
구조체와 Execute() 메서드가있는 클래스가 있고 cudafying 메서드는 구조체를 사용합니다.GPP 메모리에 전달 된 구조체가 정의되지 않았습니다. 구조체를 Cudafy에 전달하는 방법?
PROBLEM는 : CUDA는 말한다 : ".../CUDAFYSOURCETEMP.cu (3) 오류 : 식별자"는 PointGPU CudafySourceTemp.cu 이러한 라인
extern "C" __global__ void PolygoniseOnGpu(PointGPU* p, ...);
이다
[Cudafy]
public struct PointGPU
{
public double x;
public double y;
public double z;
public PointGPU(double xVal, double yVal, double zVal)
{
x = xVal;
y = yVal;
z = zVal;
}
}
class MarchingCubesOnGPU
{
CudafyModule km = CudafyTranslator.Cudafy();
GPGPU gpu = CudafyHost.GetDevice();
private static PointGPU[] pointsGpu = new PointGPU[8];
public void Execute()
{
gpu.LoadModule(km);
PointGPU[] dev_points = gpu.CopyToDevice(pointsGpu);
gpu.Launch().PolygoniseOnGpu(dev_points, ...);
...
}
[Cudafy]
public static void PolygoniseOnGpu(PointGPU[] p, ...)
{
...
}
public List<Triangle> setPolygoniseParameters(...)
{
pointsGpu = ...
}
}
"정의되지"