for 루프가 병렬 처리되는 openMP 프로그램이 있습니다. 마스터 스레드가 많은 경우를 제외하고는 모든 스레드가 나머지 스레드보다 몇 배 빠릅니다 ... 예를 들어 4 개의 스레드로 실행 중일 때 스레드 0은 다른 스레드보다 오래 전에 완료되지만 동일한 스레드를 실행하고 있습니다 코드로, 거의 동일한 양의 작업이 가능합니다.일반 openMP - 스레드 속도가 다릅니다
Windows에서 리소스를 처리하고 프로그램에서 사용하는 스레드에서 작업을 스왑하고 느리게 처리 할 수 있습니까? 아니면 내 코드가 문제가 될 가능성이 더 큽니까? 이 프로그램이 OS에서 발생하는 피할 수없는 문제인 경우 프로그램에서 오류를 찾는 데 시간을 낭비하지 않도록하고 싶습니다. ...
실제 코드가 공개되지 않고 나쁜 행동을 제공하는 것은 무엇입니까? 그러나 참조를 원하면 http://stackoverflow.com/questions/13355559/openmp-slower-more-than-one-threads-cant-figure-out을 참조하십시오. – user1929959
게시하기에 너무 많은 코드가 있다고 생각합니다 ... 질문은 실제로 openMP의 일반적인 동작에 관한 것입니다. 각 스레드에서 똑같이 빠르게 계산할 수 있습니까? – MikkelSecher
중요한 부분을 버리지 않고 필수 요소로 코드를 추출하는 데 시간을 허비하지 않으면 질문이 닫힐 수 있습니다. –