Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Sonunda seni bekliyorduk. Denemeye hazırsanız, Intel OpenCL Runtime'ı yükleyin ( bağlantıdaki talimatlar).
Komut dosyasını içindeki hiçbir şeyi değiştirmeden çalıştırın ve önceki meslektaşlarınızın yaptığı gibi "Uzmanlar" sekmesinden günlüğü gönderin. Senaryonun toplam uygulama süresi taş üzerinde yaklaşık 3 dakikadır, sabırlı olun. Aynı zamanda, OpenCL'nin en havalı çıplak taşlı Sandy Bridge'de nasıl çalıştığını öğreneceğiz.
Sabrınız yeterli değilse veya size bu yeteneklerinizin ötesinde görünüyorsa, sorun değil, kırılmayacağız.
PS Bu betiğin amacı, herhangi bir ayrık video ejderhası olmadan çıplak bir CPU'nun neler yapabileceğini görmektir. Intel Runtime doğru bir şekilde kurulursa, bu betiğin yaklaşık 200 veya biraz daha yüksek hızlanacağından şüpheleniyorum.
Intel OpenCL Runtime'ın doğru bir şekilde kalktığına dair şüpheler var.
2012.04.23 00:17:51 ParallelTester_00-01x__3 (EURUSD,H1) CpuTime/GpuTime = 1347.164383561644
2012.04.23 00:17:51 ParallelTester_00-01x__3 (EURUSD,H1) Result on Cpu МахResult==0.9316 at 10253 pass
2012.04.23 00:17:51 ParallelTester_00-01x__3 (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.23 00:17:51 ParallelTester_00-01x__3 (EURUSD,H1) CPU time = 295029 ms
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) Result on Gpu МахResult==0.9316 at 10253 pass
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) GPU time = 219 ms
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) OpenCL init OK!
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) CLGetInfoInteger() returned 4
Intel OpenCL Runtime'ın doğru bir şekilde kalktığına dair şüpheler var.
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) Result on Gpu МахResult==0.9316 at 10253 pass
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) GPU time = 219 ms
Muhtemelen CLContextCreate() argümanını sıfırdan farklı bir şeye ayarladınız. Pekala, senden hiçbir şeyi değiştirmemeni istedim! İki başlı video ejderhanızın yeteneklerini zaten biliyoruz. Ama görünüşe göre birkaç...
Kaba tahminlerime göre, CLContextCreate(0) ile sırasıyla CPU zamanı = 180000 ms ve GPU zamanı = 900 ms (yaklaşık olarak) sırasına göre sayılara sahip olmalısınız. Böyle bir CPU için garip bir şekilde uzun bir ilk yürütme süreniz var. Belki başka görevlerle ağır bir şekilde yüklendi?
Komut dosyasını, eklediğim aynı biçimde çalıştırabilirsiniz - koddaki hiçbir şeyi değiştirmeden , tek bir ?
PS Elbette, device = 0'ın CPU'ya değil, başka bir şeye karşılık gelmesi mümkündür. Öyleyse deney yapın (0'dan 3'e). Teorik olarak en uzun GPU süresi, çıplak bir CPU'ya karşılık gelmelidir, yani. ev sahibi.
CLContextCreate() bağımsız değişkenini sıfırdan farklı bir şeye ayarladınız. Pekala, senden hiçbir şeyi değiştirmemeni istedim! İki başlı video ejderhanızın yeteneklerini zaten biliyoruz. Ama görünüşe göre birkaç...
Kaba tahminlerime göre, CLContextCreate(0) ile sırasıyla CPU zamanı = 180000 ms ve GPU zamanı = 900 ms (yaklaşık olarak) sırasına göre sayılara sahip olmalısınız. Böyle bir CPU için garip bir şekilde uzun bir ilk yürütme süreniz var. Belki de başka görevlerle çok yüklüydü?
Komut dosyasını eklediğim şekilde çalıştırabilir misiniz - hiçbir şeyi değiştirmeden , tek bir değişiklik yapmadan?
PS Elbette, device = 0'ın CPU'ya değil, başka bir şeye karşılık gelmesi mümkündür. Öyleyse deney yapın (0'dan 3'e). Teorik olarak en uzun GPU süresi, çıplak bir CPU'ya karşılık gelmelidir, yani. ev sahibi.
Parametreler değişmedi! Olduğu gibi başlatıldı.
Videoya göre evet 2x590.
CLContextCreate (0) 1,2,3'te yeniden başlatıldığında sonuç öncekiyle aynıdır.
Intel OpenCL Runtime ile ilgili bir sorun olabilir.
Ayarları değiştirmedim! Olduğu gibi başlatıldı.
CLContextCreate (0) 1,2,3'te yeniden başlatıldığında sonuç öncekiyle aynıdır.Tüm sonuçlar aynı mı? buna inanmıyorum... peki, bu komut dosyasında çıplak bir CPU'da GPU zamanı = 219 ms olamaz. En iyi durumda, yaklaşık 800 ms olacaktır, ancak 200 ms olmayacaktır.
İşte tipik sonucum (Pentium G840 CPU'm var):
2012.04.22 22:23:09 ParallelTester_00-01x (EURUSD,H1) CpuTime/GpuTime = 88.40817091454272
2012.04.22 22:23:09 ParallelTester_00-01x (EURUSD,H1) Result on Cpu МахResult==1.05116 at 7785 pass
2012.04.22 22:23:09 ParallelTester_00-01x (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.22 22:23:09 ParallelTester_00-01x (EURUSD,H1) CPU time = 235873 ms
2012.04.22 22:19:13 ParallelTester_00-01x (EURUSD,H1) Result on Gpu МахResult==1.05116 at 7785 pass
2012.04.22 22:19:13 ParallelTester_00-01x (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.22 22:19:13 ParallelTester_00-01x (EURUSD,H1) GPU time = 2668 ms
2012.04.22 22:19:10 ParallelTester_00-01x (EURUSD,H1) OpenCL init OK!
2012.04.22 22:19:10 ParallelTester_00-01x (EURUSD,H1) CLGetInfoInteger() returned 1
Tamam gidelim.
Tüm sonuçlar aynı mı? buna inanmıyorum... peki, bu komut dosyasında çıplak bir CPU'da GPU zamanı = 219 ms olamaz. En iyi durumda, yaklaşık 800 ms olacaktır, ancak 200 ms olmayacaktır.
Tamam gidelim.
Burada CLContextCreate (0) ile tekrar denedim
2012.04.23 01:27:15 ParallelTester_00-01x__3 (EURUSD,H1) CpuTime/GpuTime = 1265.405982905983
2012.04.23 01:27:15 ParallelTester_00-01x__3 (EURUSD,H1) Result on Cpu МахResult==1.48772 at 2051 pass
2012.04.23 01:27:15 ParallelTester_00-01x__3 (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.23 01:27:15 ParallelTester_00-01x__3 (EURUSD,H1) CPU time = 296105 ms
2012.04.23 01:22:19 ParallelTester_00-01x__3 (EURUSD,H1) Result on Gpu МахResult==1.48772 at 2051 pass
2012.04.23 01:22:19 ParallelTester_00-01x__3 (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.23 01:22:19 ParallelTester_00-01x__3 (EURUSD,H1) GPU time = 234 ms
2012.04.23 01:22:18 ParallelTester_00-01x__3 (EURUSD,H1) OpenCL init OK!
2012.04.23 01:22:18 ParallelTester_00-01x__3 (EURUSD,H1) CLGetInfoInteger() returned 5
Bu açıkça ayrı bir kartta ve bir CPU'da değil: öykünmede bu tür hızlanmalar pek mümkün değil. Ve zaten sahip olduğunuz cihaz sayısı 5, ne korkunç.
Sakıncası yoksa, lütfen biraz değiştirilmiş kodu çalıştırın ve sonucu buraya gönderin. Kodda, farklı OpenCL cihazları için hesaplamalar döngülüdür (hızlı olmaları gerekir) ve en uzun olan x86'daki hesaplama yalnızca bir kez gerçekleştirilir. Ayak örtüsü uzun olacaktır, ancak komut dosyasının kendisi bir kez yürütülür.
Sana zaten işkence ettiğimi anlıyorum. Ancak her durumda, Destek Ekibi için iyi bir bilgi olacaktır.İlginç bir sonucum var)) Bunun toplam cihaz sayısı değil, mevcut durum olduğunu fark ettim.
Hesaplamalar devam ediyor ama biter bitmez yayınlayacağım.
Bu arada, yardımda ne CLGetInfoInteger() ne de CL_DEVICE_COUNT var.
not. sonuç
not. sonuç
1. Yardımı güncelleyin, sizinki belli ki eski.
2. sen
büyük olasılıkla, ilk sayı, 11357 ms, ana bilgisayarı (çıplak CPU) ve ikinci, 998 ms, videoyu ifade eder. Ana bilgisayardaki kazanma sırası, kabaca, AMD OpenCL'de elde edilen hızlanma ile oldukça tutarlıdır (4 çekirdekli Athlone II'de yaklaşık 38 kat). Aslında yeterli olmasa da daha fazla olmalı, 50-60'a yakın bir yerde. Çok yavaş bir hafızanız olabilir.
CpuTime / GpuTime rakamı elbette sadece son hesaplanan cihaz için hesaplanır.
1. Yardımı güncelleyin, sizinki belli ki eski.
2. CpuTime / GpuTime rakamı elbette sadece son hesaplanan cihaz için hesaplanır.
1. Her şeyi manuel olarak güncelledim, teşekkürler, peki ya terminal ve meta düzenleyici ile birlikte güncellenmeyen yardım?
2. Evet, ama yine de güzel).
Donanımınızla ilgili hemen hemen her şey açıktır, yalnızca sunucunuz bir OpenCL cihazıdır. Öte yandan, bu kadar yüksek bir sonucun daha önce nereden geldiği gariptir (s. 51):
Nedense imleci kod eklemeden çıkaramıyorum . Ve eğer birinden alıntı yaparsam, aynı saçmalık. Bu bir forum hatası mı?
Forum motorunun bir hatası, ama her zaman böyle değil. Genellikle HTML düğmesine tıklar ve son etiketten sonra manuel olarak birkaç harf eklerim. Sonra yazının görsel düzenleme moduna dönüyorum.