빠른 질문. 내 코드의 MPI 구현을 위해, 나는 둘 다 큰 차이를 보이고있다. MPI_Wtime은 각 프로세서에서 경과 한 실제 시간이며 clock()은 예상 시간에 대한 대략적인 아이디어를 제공합니다. 누구든지 어떤 주장을 추가하고 싶습니까?clock()과 MPI_Wtime()의 차이점
4
A
답변
3
clock
기능은 전혀 쓸모가 없습니다. 그것은 CPU 시간이 아닌 실시간/벽 시간을 측정하고, 또한 다음과 같은 심각한 문제가 있습니다 : 대부분의 구현에
는, 해상도가, 예를 들어, 1/100 초 매우 나쁘다.
CLOCKS_PER_SECOND
은 (는) 해상도가 아니라 해상도입니다.일반적인 값이
CLOCKS_PER_SECOND
(예 : 유닉스 표준의 경우 1 백만 회 필요) 인 경우,clock
은 32 비트 시스템에서 오버 플로우됩니다. 오버플로 후 -1을 반환합니다.대부분의 히스토리 구현은 C 표준에 필요하지만 실제로 대신 랩핑 할 때 -1을 반환하지 않습니다.
clock_t
은 일반적으로 서명 된 형식이므로 래핑 된 값으로 산술 연산을 수행하면 의미없는 결과 또는 정의되지 않은 동작이 발생합니다.Windows에서는 완전히 잘못된 것이므로 CPU 시간보다 실시간으로 측정됩니다.
3
clock
의 공식 정의는 CPU 시간을 제공한다는 것입니다. Windows에서
히스테리컬 한
역사적인 이유 - 그것은 CPU 시간을 반영하도록 변경하면 일부 응용 프로그램을 깨뜨릴 것입니다 - Windows에서 시간은 그냥 경과 시간입니다.
MPI_Wtime
은 "이 프로세서의 현재 시간"을 제공합니다. 이는 상당히 다릅니다. 1 분 동안 잠자는 것을하면 MPI_Wtime
은 60 초 앞으로 움직이며, clock
(Windows 제외)은 거의 변경되지 않습니다.
관련 문제
- 1. BeanNameUrlHandlerMapping의 차이점 SimpleUrlHandlerMapping의 차이점
- 2. 차이점 System.Windows.Controls.Page와 Windows.UI.Xaml.Controls.Page의 차이점
- 3. 차이점
- 4. 차이점 downcase와 downcase의 차이점! Ruby에서
- 5. IE5와 IE8의 차이점 모드 차이점
- 6. achartengine의 차이점 Type.DEFAULT와 Type.STACKED의 차이점
- 7. 차이점 LayoutInflater의 차이점 SearchView 아이콘
- 8. 차이점 jaxb 차이점 자바 7과 자바 6
- 9. PhpStorm의 차이점
- 10. '와'의 차이점
- 11. 병합 차이점
- 12. 다각형 차이점
- 13. 컴파일러 차이점
- 14. 차이점 포크
- 15. sha1의 차이점
- 16. CLR의 차이점
- 17. 코드의 차이점
- 18. 정렬 차이점
- 19. UIsystemfonts의 차이점
- 20. 구문 차이점
- 21. generics의 차이점
- 22. SQL의 차이점
- 23. 네트워크의 차이점
- 24. RegEx의 차이점
- 25. 파일이없는 차이점
- 26. SignalR의 차이점
- 27. IDependencyResolver의 차이점
- 28. g ++ 차이점
- 29. 라이브러리의 차이점
- 30. 행간 차이점
답변 해 주셔서 감사합니다. MPI 프로그램의 전체 시간을 측정해야합니다 (각 MPI_Wtime()과 다를 수 있음). 프로파일 링은 MPI 구현에서 오는 몇 가지 다른 기능을 감지하는 데 상당한 시간이 걸리지 않기 때문에 나에게 좋지 않은 것처럼 보입니다. 어떻게 할 수 있는지 생각해보십시오. –
나는 마지막으로 MPI_Barrier (MPI_COMM_WORLD)에 전화를 걸 수 있으며,이 후에 MPI_Wtime()을 전체 실행 시간으로 기록 할 수 있습니다 (이것은 속도 결정 단계로 작동 함) 또는 문자 그대로 말하면 최대 값이 될 것입니다 MPI_Wtime(). 나를 확인해주세요! –
저는 MPI에 익숙하지 않지만 문서를 빨리 확인하면'MPI_Wtime'이 CPU 시간이 아닌 실시간을 반환한다는 것을 알 수 있습니다. "호출 프로세서에서"라는 구절은 오해의 소지가 있습니다. 그것은 CPU 시간과 관련이없는 것처럼 보이지만 오히려 다른 코어가 현재 실시간이 무엇인지에 대해 약간 다른 아이디어를 가질 가능성을 허용합니다. 그러나 이러한 불일치는 고품질 시스템에는 존재해서는 안됩니다. –