0
저는 ALEA로 시작했는데, 주어진 gpu parallel.for 내에서 다른 유형과 참조를 액세스하는 방법이 궁금합니다. 가능한 이유 : 1) 정적 필드 지원되지 않습니다 .2) 필드 형식이 지원되지 않습니다 .3) 클로저 클래스에서 필드에없는 [GpuParam] 특성입니다. "Alea GPU for 루프가 필드를 가져올 수 없습니다.
이 오류는 의미가 있지만 올바른 구현 당신은 System.Random.Next를 호출하려고
[GpuManaged]
public void InitPoints()
{
var gp = Gpu.Default;
gp.For(1, (10), (i) =>
{
int pointStart = random.Next(totalPoints) + 1;
Pt point = new Pt(pointStart, ptAt[i]);
point.Process();
});
}
@Daniel에게 감사드립니다. 이 문제를 이해했는데, 혼란스러워하는 부분은 지원되지 않는 GPU 유형을 작동 시키려면 올바른 구현/인터페이스인가? 그것은 가능합니다. 당신은 cuRand가 GPU에 의해 컴파일 될 수 있다고 말합니다. 그렇지만 GPU가 내 "Pt"유형을 적절하게 컴파일 할 수있는 방법이 있습니다. 또한 GPU에 대해 지원되는 유형의 목록이 있으며 어디서 찾을 수 있습니까? 안내에 정말 감사드립니다. – skevthedev
[Alea GPU] (http://www.aleagpu.com) 웹 페이지에는 많은 [samples] (http://www.aleagpu.com/gallery.html)가 있습니다. 특히 [이 샘플] (http://www.aleagpu.com/release/3_0_4/doc/samples/aleasample_cs_financeasianoptionmontecarlo.html)을 통해 작업하십시오. 필요한 것보다 더 복잡하지만 GPU를 프로그래밍 할 때 어떻게 생각해야하는지 충분히 이해할 수 있어야합니다. – Daniel