2012-02-16 19 views
5

Kodumun hangi bölümünün birkaç iş parçacığı kullandığını kontrol etmek için profil oluşturmanın bir yolu var mı?Matlab kodumun hangi kısmı çok iş parçacıklı?

Bir matlab kodum var, onu çalıştırdığımda, sistem monitöründe birkaç çekirdeğin kullanıldığını görebiliyorum. Ama ...

Ben Profilci bunu öğrenebilirsiniz acaba veya başka bir araç ... kod parçası çok kanallı olan

+0

herhangi bir nedenini öğrenmek istediğiniz neden ? –

+0

@Ashish Çünkü bu kodu laboratuarımın kümesinde çalıştırıyorum. Ve bazı çekirdekli kitaplara ihtiyacım var. Çekirdeklerimin tükenmesi zamanla değişirse, ya birkaç çekirdek ayırırım ve bazı çekirdekler bir noktada kullanılmayacak, ya da sadece bir çekirdek ayırtacağım ve laboratuar arkadaşlarım işlerin CPU zamanlarını almasını engelleyecektir. – Oli

+1

Sadece tek bir çekirdek kullandığınızdan emin olmak için MATLAB'a -singleCompThread seçeneğini kullanabilirsiniz. – Edric

cevap

6

yol hakkında yuvarlak çözemiyorum, arama yapmaktır bilinen çok iş parçacıklı işlevler için. İşte bunun için bildiğim en iyi liste: http://www.walkingrandomly.com/?p=1894. Ayrıca, a ve/veya b yeterince büyük matrisler varsa, a. * B veya sin (a) gibi işlemlerin çok iş parçacıklı olacağını unutmayın.

Arama alanını azaltmak için profilleyiciyi de kullanabilirsiniz. Kodunuzun çoğunu çoğu zaman çok iş parçacıklı çalıştırıyorsanız, kodunuz zaman harcıyorsa, çoğunun çok iş parçacığı ortaya çıkması muhtemeldir ...

+0

Teşekkürler, bu çok yardımcı olacaktır. +1 – Oli

İlgili konular