İç içe geçmiş döngülerimle çoklu iş parçacığı yapmak için OpenMP kullanıyorum. Bu şeylere yeninden beri, OpenMP'yi doğru şekilde kullanıp kullanmadığımı, böylece paralel programlamayı yapabileceğinden emin değilim. Bu yüzden OpenMP'yi kullanan C++ programımın performansını ölçüp ölçemediğimi bilmek isterim, bu yüzden gerçekten çalıştığını söyleyebilirim ve doğru yolda mıyım? Paralel olarak kaç tane iş parçacığı çalışıyor ve bunların her biri için ne kadar sürüyor. Teşekkür ve saygılarımla!OpenMP'nin benim C++ programımda çalışıp çalışmadığını söyleme nasıl olur
cevap
#include <omp.h>
...
int target_thread_num = 4;
omp_set_num_threads(target_thread_num);
unsigned long times[target_thread_num];
// Initialize all the times
#pragma omp parallel
{
int thread_id = omp_get_thread_num();
times[thread_id] = start_time();
std::cout << "Thread number: " << omp_get_thread_num() << endl;
times[thread_id] = end_time();
}
...
devam ederken bunların her
Açıkçası, iki zamanlayıcı işlevini sağlamanız gerekir, ancak bu özellik budur. OMP işlevleri oldukça kendinden açıklayıcıdır. Ayrıca ortamınızın uygun şekilde kurulduğundan ve uygun mekanizmalarla derlediğinizden emin olun. g ++ seçeneği -fopenmp'dir. Visual Studio'da proje ayarları, C++, Dil'e gidin ve "OpenMP Desteği" ni etkinleştirin.
CPU kullanımını izlemek için windows taskmanager (CTRL-SHIFT-ESC) pencerelerini ya da * nix kutularını üstte kullanabilirsiniz.
birçok çekirdek kullanıldığında sadece kontrol ya da değil
:
- nasıl ipler
- bkz çalışan edebilir bkz icar diğerleri
Bunları gdb/on Linux ile nasıl yapılacağını biliyor musunuz? – Tim
Bu yardımcı olmalıdır: http://www.delorie.com/gnu/docs/gdb/gdb_25.html Ayrıca bu sayfanın altındaki bağlantılara da bakın. (Caveat: Bunu Google ile buldum; GDB kullanıcısı değilim.) – RichieHindle
Linux üzerinde, çekirdeklerinizi görmek için her zaman 'top' kullanabilir ve ne yaptığını kontrol edebilirsiniz. – Anna
- 1. IPython'un çalışıp çalışmadığını nasıl anlarım?
- 2. Bir Windows Hizmetinin çalışıp çalışmadığını nasıl doğrulayabilirim?
- 3. Python sqlite UPDATE'in çalışıp çalışmadığını nasıl belirleyebilirim?
- 4. Sabun bağlantısının çalışıp çalışmadığını kontrol edin
- 5. Uygulamanın Simülatörde çalışıp çalışmadığını kontrol edin
- 6. Kodun Azure Web Siteleri'nde çalışıp çalışmadığını denetleme
- 7. Uygulamanın arka planda çalışıp çalışmadığını belirleme
- 8. Android, intent hizmetinin hala çalışıp çalışmadığını veya
- 9. Bir programın valgrind içinden çalışıp çalışmadığını nasıl algılayabilirim?
- 10. Kodumun konsolda Rails 3'te çalışıp çalışmadığını nasıl algılayabilirim?
- 11. C++ programımda bellek sızıntılarını nasıl önleyebilirim?
- 12. gzip/deflate sıkıştırmasının IE tarayıcılarında çalışıp çalışmadığını nasıl doğrularız?
- 13. Bir komut dosyasının bir tty'de çalışıp çalışmadığını nasıl anlarsınız?
- 14. Perl betiğimin Windows altında çalışıp çalışmadığını nasıl anlarım?
- 15. Google Analytics'in çalışıp çalışmadığını (Android uygulaması) nasıl öğrenebilirim?
- 16. Silverlight'ta, kodun UI iş parçacığında çalışıp çalışmadığını nasıl anlarsınız?
- 17. Bir NUnit testinin TeamCity içinden çalışıp çalışmadığını nasıl tespit edebilirim?
- 18. Bir SWF'nin AIR uygulaması olarak çalışıp çalışmadığını nasıl kontrol edebilirim?
- 19. Uygulamanızın yerel Python Geliştirme Sunucusunda çalışıp çalışmadığını nasıl belirleyebilirim?
- 20. Özel boyut verilerin çalışıp çalışmadığını nasıl kontrol edebilirim?
- 21. Kafka 0.8.2.2'de sıkıştırmanın düzgün çalışıp çalışmadığını nasıl doğrulayabilirim?
- 22. Xcode'ta, lauch resminin düzgün çalışıp çalışmadığını nasıl bilebilirim?
- 23. php-fpm'nin kurulu ve düzgün çalışıp çalışmadığını nasıl kontrol edebilirim?
- 24. Mac'te mongo db'nin çalışıp çalışmadığını nasıl kontrol edebilirim?
- 25. Android TV'de bir uygulamanın çalışıp çalışmadığını nasıl kontrol edebilirim
- 26. Programın tam yönetici hakları ile çalışıp çalışmadığını tespit edin
- 27. Bir uygulamanın ön planda çalışıp çalışmadığını kontrol etme
- 28. Bağlantılı bir SQL sunucusunun çalışıp çalışmadığını kontrol edin
- 29. Windows işletim sisteminin güvenli modda çalışıp çalışmadığını kontrol edin
- 30. WCF İstemci WCF Ana Bilgisayarının çalışıp çalışmadığını kontrol ediyor mu?
OpenMPI ile OpenMPI'yi karıştırmaktan dolayı özür dilerim! Dirk Eddelbuettel'e kibarca hatama işaret ettiği için teşekkürler! –