PTLsim yapılandırma seçeneklerini uygulamak için hangi yöntem kullanılır?
her bir makineye bağlanmak için
Tüm benchmarklar için kullanılan derleyici seçenekleri şunlardır: -static -DBENCHMARK -DSPEC_CPU2000 -O3 -march=k8 pentium4 –funroll -loops - fno- trapping-math -mfpmath=sse -funit-at-a-time -ffast-math -fprefetch- loop- arrays -mfpmath=sse -include ../../ptlcalls.h Seçeneklerin özelikle yüksek performans için x87 (32-bit x86 da varsayılan) yerine SSE2 matematiğini derlediği ve 64-bit ikili değerler AMD K8 için programlanırken Pentium 4 için 32-bit ikili değerleri programladığı gözden kaçmamalıdır. Benchmark yapılandırmasını ayarlamak: ptlsim/spec2000 dizinine gidilir. Tüm benchmarklara PTLsim yapılandırma seçeneklerini uygulamak için setconfig kelime dizini kullanılır. Buna aşağıdaki gibi bir örnek verilebilir: setconfig -logfile logfile -stats ptlsim.stats -trigger -stopinsns 200m - exitend Yukarıda tanımlanan tüm seçenekler PTLsim dokümantasyonunda tanımlanmıştır. runbench-cluster Perl komut dizini (script) test grubumuzdaki 25 benchmarkın hepsini de bütün yükü tüm makineler ve CPU’lar arasında otomatik olarak eşit dağıtarak bir Linux öbeğinde çalıştırır, böylece toplam çalışma zamanı minimum yapılmış olunur. runbench-cluster gzip vpr gcc mcf ... Komut dizini listelenmiş benchmarkları paralel alt listelere ayırır. Daha sonra her bir makineye bağlanmak için ssh kullanır. Her bir öbek makinesindeki her bir CPU üzerinde seri olarak bir alt-liste çalıştırmak için runbench-local yardımcı komut dizisini başlatır. Bu, teknik olarak her benchmarkın dizinine girilerek ve make run çalıştırılarak yapılır runbench-cluster komut dizini sonlanmadan önce, tüm uzak ssh oturumlarının sona ermesini bekler . Uygunluk açısından, runbench-cluster-all kullanılabilir bütün benchmarkların tam listesiyle runbench-cluster’ ı başlatacaktır. Göreceğiniz çıktının bir örneği buradadır: yourst [tidalwave /project/ptlsim/spec2000] runbench-cluster-all runbench- cluster: Running 25 benchmarks on 4 nodes with 2 threads per node... Thread 0 on tidalwave cpu 0: [gzip] [perlbmk] [equake] => PID 27645 Thread 1 on typhoon cpu 0: [vpr] [parser] [apsi] => PID 27646 Thread 2 on tsunami cpu 0: [gcc] [wupwise] [sixtrack] => PID 27648 Thread 3 on tornado cpu 0: [mcf] [swim] [ammp] => PID 27650 Thread 4 on tidalwave cpu 1: [crafty] [mgrid] => PID 27651 Thread 5 on typhoon cpu 1: [eon] [applu] => PID 27654 Thread 6 on tsunami cpu 1: [bzip2] [mesa] => PID 27656 Thread 7 on tornado cpu 1: [twolf] [art] => PID 27658 Waiting on 8 threads: Thread 0 (pid 27645) on tidalwave cpu 0...OK (pid 27645), result 0 Thread 1 (pid 27646) on typhoon cpu 0...OK (pid 27646), result 0 Thread 2 (pid 27648) on tsunami cpu 0...OK (pid 27648), result 0 Thread 3 (pid 27650) on tornado cpu 0...OK (pid 27650), result 0 Thread 4 (pid 27651) on tidalwave cpu 1...OK (pid 27651), result 0 Thread 5 (pid 27654) on typhoon cpu 1...OK (pid 27654), result 0 Thread 6 (pid 27656) on tsunami cpu 1...OK (pid 27656), result 0 Thread 7 (pid 27658) on tornado cpu 1...OK (pid 27658), result 0 Done! Benchmarkların çalışmasını yarıda kesmek için Ctrl+C ye basılabilir. Benchmarkları seri olarak çalıştırmak için benchmark dizinine gidilir (e.g. spec2000/gzip) make run yazılır. En üst seviye spec2000 dizininde de make run yazabilirsiniz, fakat bu durumda benchmarklar paralel yerine seri olarak çalışacaktır. Yaratılan dosyalar: Her bir benchmark dizininde (ptlsim/spec2000/gzip v.b.) birkaç dosya bulacaksınız: ** run.log, eğer varsa, konsola normal şekilde yazılı olarak çıktıyı içerir. ** logfile PTLsim’in genel bilgi içeren kayıt dosyasıdır. Bu bilgi son ana kadar kaç adet çevrim ve teslimat (commit) gerçekleştirildiğini de kapsamaktadır (kontrol etme işlemi için yararlıdır). ** ptlsim.stats PTLsim istatistik ağacının ikili formatını içerir. ** ptlsim.stats.txt PTLsim istatistik ağacının metinsel gösterimini içerir. Daha fazla bilgi için PTLsim Kullanıcı Kılavuzu ve Referansına bakılmalıdır. Dosya isimlerini değiştirmek için setconfig komutu kullanılabilmektedir. Kaynak: https://web.archive.org/web/20091211165536/http://www.ptlsim.org/ Elektronik.dendir. 