확인이 거대한 배열이 연결된 배열 TJ하지만 TJ의 길이가 J처리하여 여러개의 크기의 배열
에 대한변수가있다 J의 각 요소에 대해 지금 전화
J
수 있습니다 예를 들어 secuencial 과정이for(J=0;J<length(ARRAY_J))
do
for(T=0;T<length(ARRAY_TJ))
do
ARRAY_RESULT[J]+=ARRAY_J[J]+ARRAY_TJ[T]
end
end
처럼 보일 것입니다 그래서 그래서 나는 2D 블록 내 스레드를 정리하면 나는 J의 스레드의 x 인덱스와 T에 대한 스레드의 y 인덱스를 사용할 수있는 생각
이제 J의 길이는 알지만 T의 길이는 다양하므로 Cuda에서 이것을 정의하는 방법을 모르겠습니다. 예를 들어
ARRAY_RESULT[blockidx.y*blockDim.y+threadidx.y]+=ARRAY_J[blockidx.y*blockDim.y+threadidx.y]+ARRAY_TJ[blockidx.x*blockDim.x+threadidx.x]
그래서 내가 어떻게 ARRAY_TJ의 길이 변수를 고려 여기 블록의 크기를 정의 할 수 있을까? 최대 길이 ARRAY_TJ를 사용해야합니까? 그런데 위 코드와 같은 코드가 작동할까요? ARRAY_J의 각 값에 대해 길이 (ARRAY_TJ) 값의 합계를 계산합니까?
그래, 내 루프를 없애기가 어려울 것이라고 생각했습니다. 오 잘 고마워! – Atirag