난 1에서 1000 사이의 임의의 숫자를 출력 할 수있는 병렬 알고리즘을 가지고 있습니다. 내 목표는 알고리즘의 N 번 실행에 대해 각 숫자가 선택된 횟수를 계산하는 것입니다. 예를 들어, 100 개의 스레드에서 N/100 실행 알고리즘을 수행하고 있으며 최종 결과는 각 숫자의 발생 인 1000 개의 int 배열입니다.카운트 총 동시 발생 수
이것을 지능적으로 병렬화하는 방법이 있습니까? 예를 들어, 하나의 전역 배열 만 사용하는 경우에는 필자가 쓰기를 원할 때마다 잠금을 설정해야합니다. 병렬 처리가없는 것처럼 알고리즘을 실행하게 만듭니다. 오타 손에서는 스레드 당 1000 개의 숫자 배열을 만들 수 없으며 단지 1 %를 채우고 끝에 병합합니다.
유용한 정보가 있습니까? 감사!
건의 할 것입니다. 그러나 이러한 루틴을 구현하는 방법에 대한 온라인 설명은 많이 있으며, CUDA SDK에는 히스토그램 작성을위한 샘플 코드와 알고리즘을 설명하는 문서가 함께 제공됩니다. –
고마워, 내가 볼게! – lezebulon