0

관련 질문 대 열 : 나는 공간 잠재적으로 큰 얻을 수있는 그리드 (10^6 노드) 또는 더 큰를 사용하고 This one행/선형 인덱싱 속도 (공간 지역)

. 나는 정기적으로 (노드에서 다른 파티클과 같은) 입자 이동 작업을 수행해야 할 것이다. 저는 정보학의 균열이 아니지만 캐시 라인과 공간 지역성의 개념을 이해하기 시작합니다. 그래서 2D 배열을 사용하는 것이 더 바람직하다면 (그리고 만약 그렇다면 어느 것이 좋습니다. 지금은 부스트를 피하고 싶지만 나중에 링크 할 것입니다) 그리고 변위를 인덱싱하는 것은

입니다.

배열 [I] [J] -> 배열 [I-1] [J + 2] 1 차원 어레이

또는, NX는 열 "등가"번호 인 경우

어레이

거의 1 백만회 반복으로 반복 당 거의 백만 번 수행된다는 것을 알고 있기 때문에 [i * NX + j] -> 배열 [(i-1) * NX + j + 2] 현대 컴파일러 및 최적화와

답변

1

아마

Array[i-1][j+2] // Where Array is 2-dimensional 

Array[(i-1)*NX+j+2] // Where Array is 1-dimensional 

는 NX는 2 차원 배열에서 두 번째 첨자의 차원이다 가정 동일한 코드를 생성이 모두 가능 (열 수).

+0

네, 그래요,하지만 이건 아마 "저"귀찮아서 .. 고마워요! –