OpenCL: MQL5의 내부 구현 테스트 - 페이지 25

 
Ashes :

2012.03.05 17:43:16 터미널 CPU: 정품 Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz(OpenCL 1.1 포함)(4개 장치, 3092MHz, 4008Mb, 버전 2.0)

2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) CpuTime/GpuTime = 0.7347677666287369

[...] 어쩌면 "잘못된 시스템의 수류탄"이 있습니까? (AMD SDK 버전 기준)

대박. 나는 인터넷에서 찾은 가장 평범한 상점에서 돌, 어머니, 메모리 및 쿨러를 샀다. 모두 합쳐서 약 6스팟이 소요됩니다. 아마도 실수로 미래에서 온 조약돌을 미끄러뜨렸을 것입니다.

아마도 SDK에 관한 모든 것입니다. 메모리에 대해 죄를 지을 가치가 거의 없으며 기본적으로는 DDR-III뿐입니다. 그리고 그것이 단일 채널이든 아니든 - 물론 영향을 미치지만 그렇게 심하게 영향을 미치지는 않습니다.

 
Mathemat :

흥미로운. 피요르드는 더 강력한 지도(GeForce GT 440)를 가지고 있으며 계산 시간은 10배 더 깁니다. ...

그리고 흥미롭게도 데스크탑도 무언가를 먹기 때문에(Aero 테마) 계산 속도는 해상도(저는 1920x1080)에 따라 다릅니다.

아마도 그래서 계산에 더 많은 시간이 필요합니다.

 
fyords : 그리고 흥미롭게도, 데스크탑도 무언가를 먹기 때문에(Aero 테마), 계산 속도는 해상도(저는 1920x1080)에 따라 달라집니다.

네, 가능합니다. Aero Windows 경험 지수는 무엇을 보여줍니까? 여기 내가 가지고 있습니다 :


일반적으로 나는 그것을 끈 상태로 활과 함께 심지가 필요하지 않습니다.

추신 확인했습니다. 전혀 영향을 미치지 않습니다.

 

마지막 테스트(2011년 12월 3일)는 정상적으로 통과했지만 지금은 일종의 글리치가 팝업되지만 비디오의 점수는 6.8입니다. 아마도 이것이 문제일 것입니다(결함). 철 새를 넣지 않았습니다. 문제가 새 장작일 수도 있습니다. 그런 다음 새 릴리스를 기다리고 거기서 다시 테스트를 해볼 것입니다.

 

x32

x32

x64

x64

CPU-Z

하나

2

 

어리석은 유전학을 추가하고 최대화에 고정했습니다. 결과는 공개 가격 (입력 시 16개 지표)에서 5분 기간의 500일 동안의 시뮬레이션 데이터에 대한 단일 레이어 레트로론을 조정하는 최적화 프로그램입니다.

테스트하십시오.

옵티마이저 테스트가 충분히 삽입되었기 때문에 캠페인이 성공적으로 완료되었다고 생각합니다. ;)

속도를 늦추는 사람(다른 사람과 비교하여) - 이제 무엇을 위해 절약해야 하는지 알 수 있습니다 ;-)

그래서 내 결과는 다음과 같습니다

 2012.03 . 06 03 : 44 : 23      ParallelOptimazer_00- 02 (EURUSD,M30)    Full time of optimization == 14 sec 305 ms
2012.03 . 06 03 : 44 : 23      ParallelOptimazer_00- 02 (EURUSD,M30)    Optimization is closing. Best result == 1.91356 at 92 generation.
2012.03 . 06 03 : 44 : 23      ParallelOptimazer_00- 02 (EURUSD,M30)    Generation 92 : MaxResult== 1.91356
2012.03 . 06 03 : 44 : 23      ParallelOptimazer_00- 02 (EURUSD,M30)    Generation 91 : MaxResult== 1.91356
2012.03 . 06 03 : 44 : 23      ParallelOptimazer_00- 02 (EURUSD,M30)    Generation 90 : MaxResult== 1.91356
2012.03 . 06 03 : 44 : 23      ParallelOptimazer_00- 02 (EURUSD,M30)    Generation 89 : MaxResult== 1.91356
.............
.........

마지막으로 손가락으로 설명하겠습니다. 이것은 원시 신경망 전문가를 최적화하는 전체 주기입니다.

// 글쎄요, 거의 전문가 수준입니다. 이 "전문가"의 코드에서 추가 계산을 통해 그는 이익을 매우 현실적으로 고려합니다.

// 이미 존재하는 계산을 초과하지 않습니다. 저것들. 둔화는 두 가지가 될 수 있습니다.

파일:
 
MetaDriver :

어리석은 유전학을 추가하고 최대화에 고정했습니다. 결과는 공개 가격 (입력 시 16개 지표)에서 5분 기간의 500일 동안의 시뮬레이션 데이터에 대한 단일 레이어 레트로론을 조정하는 최적화 프로그램입니다.

테스트하십시오.

...

감사해요.))

...

NJ 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 06 Generation 36 : MaxResult== 2.29423
NO 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 08 Generation 37 : MaxResult== 2.29426
FE 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 10 Generation 38 : MaxResult== 2.29426
PJ 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 14 Generation 39 : MaxResult== 2.29427
HO 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 14 Generation 40 : MaxResult== 2.29427
QE 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 14 Generation 41 : MaxResult== 2.29427
EJ 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 15 Generation 42 : MaxResult== 2.29427
LP 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 15 Generation 43 : MaxResult== 2.29427
KE 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 15 Generation 44 : MaxResult== 2.29427
DI 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 15 Optimization is closing. Best result == 2.29427 at 44 generation.
KO 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 15 Full time of optimization == 81 sec 917 ms 
 

MetaDriver , 대단히 감사합니다. 5시까지 교반 작업을 완료했습니다. 동시에 그것은 나에게 별도의 vidyuhi 없이 "말이 없는" 구성을 테스트할 수 있는 기회를 줬고 매우 놀랐습니다.

최적화 프로그램을 시작했습니다. 다음과 같이 나옵니다.

 2012.03 . 05 23 : 00 : 12      Terminal        CPU: GenuineIntel  Intel(R) Pentium(R) CPU G840 @ 2.80 GHz with OpenCL 1.1 ( 2 units, 2793 MHz, 7912 Mb, version 2.0 )
 2012.03 . 06 04 : 24 : 34      ParallelOptimazer_00- 02 (EURUSD,H1)     Full time of optimization == 58 sec 141 ms
2012.03 . 06 04 : 24 : 34      ParallelOptimazer_00- 02 (EURUSD,H1)     Optimization is closing. Best result == 1.87689 at 60 generation.
2012.03 . 06 04 : 24 : 34      ParallelOptimazer_00- 02 (EURUSD,H1)     Generation 60 : MaxResult== 1.87689
2012.03 . 06 04 : 24 : 33      ParallelOptimazer_00- 02 (EURUSD,H1)     Generation 59 : MaxResult== 1.87689
2012.03 . 06 04 : 24 : 32      ParallelOptimazer_00- 02 (EURUSD,H1)     Generation 58 : MaxResult== 1.87689
2012.03 . 06 04 : 24 : 31      ParallelOptimazer_00- 02 (EURUSD,H1)     Generation 57 : MaxResult== 1.87689

각 세대가 거의 동일한 시간 비용으로 고려된다는 점을 고려하면 귀하의 페라리와 비교하여 내 "분지"가 지난번과 같이 약 6.5-7배 느립니다(60세대의 경우 58.14초 ~ 0.97초/세대 ). .

2 Graff: 테스트 기간 동안 개별 vidyukha를 차단하고 석재의 통합 그래픽에 대한 테스트를 실행할 수 있다면 매우 흥미로울 것입니다. 린필드에서 샌디브릿지까지).

그러나 이를 위해서는 OpenCL용 AMD SDK를 다운로드해야 합니다 . 이 때문에 개별 카드가 더 나빠져서는 안 되지만(자체 드라이버가 있음) OpenCL 1.1이 확실하지는 않지만 100% 확신할 수는 없습니다.

하지만 거절한다면 나는 전혀 화내지 않을 것이다.

 

mql4 포럼에서 다시 게시합니다.

동료 여러분, OpenCL을 사용하면 이해할 수 없는 상황과 재갈이 많이 생길 것입니다. 쉬운 결과를 기대하지 마십시오.

OpenCL은 비디오 드라이버에 매달린 소프트웨어 기술이기 때문에 연결을 위한 많은 옵션이 있습니다. 실제로 비디오 드라이버는 작은 운영 체제로 바뀝니다. UltraVNC, MSI Afterbufner, Agnitum OutPost 웹 제어 대화형 및 기타 수천 개의 프로그램과 같은 모든 것이 OpenCL의 정상적인 작동을 방해할 수 있습니다.

동시에 간단한 스트리밍 계산을 위해 OpenCL 작동하도록 관리하더라도 극복할 수 없는 장애물이 하나 더 남아 있습니다. 게임 카드) GPU 정확도는 여전히 진지한 과학적 계산에 충분하지 않습니다. 또한 nVidia의 GPU가 거의 모든 최신 비디오 카드에서 배정밀도 64비트 처리를 지원하는 경우 AMD 비디오 카드에서는 일부 상위 시리즈에만 해당합니다. nVidia에도 단점이 있지만 또 다른 단점이 있습니다. 그들은 Microsoft와 같은 갱단에 속해 있기 때문에 악명 높은 CUDA(및 OpenCL)는 예를 들어 Server 2003에서 실제로 작동하지 않지만 Server 2008 및 심지어 이전 버전에서도 잘 작동합니다. Win XP - 순전히 Microsoft 고려 사항을 마케팅하기 위한 것입니다.

OpenCL은 컨볼루션 또는 필터링과 같은 부정확한 32비트 계산을 빠르게 스트리밍하기 위한 것입니다.
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
AlexEros : 게임 카드를 오버클럭할 때 정확도 손실

그리고 누가 그녀를 쫓을 것인가? 계산 속도를 10~15% 증가시키려면 벌 한 마리만 죽어서 계산 오류의 위험이 있나요? 글쎄, 우리는 여기서 수백 개의 정점을 그리지 않아도 아무 영향도 미치지 않는 차 게임을 하고 있지 않습니다 ...

OpenCL은 컨볼루션 또는 필터링과 같은 부정확한 32비트 계산을 빠르게 스트리밍하기 위한 것입니다.

예약을 합시다. 계산은 정말 방대하고 무거워야 하므로 정확도 손실이 중요하다고 생각할 이유가 있습니다. 통합은 대량 합산/곱셈이며 어려운 경우입니다.

두 개의 숫자를 더하고 세 번째를 곱하고(32비트 계산이 있는 각 숫자는 실제 계산에 충분한 정확도를 가짐) 루프를 한 번 반복한 결과로 특정 셀에 결과를 쓰고 절대 사용하지 않는 것이 한 가지입니다. GPU 내부.

또 다른 것은 계산을 위해 라이프니츠 유형의 가장 느린 수렴 시리즈를 사용하여 10억 번 반복에서 숫자 파이 를 계산하는 것입니다(이 시리즈는 OpenMP 기술을 시연할 때 매우 인기가 있습니다).


두 번째 경우에는 32비트 숫자를 사용할 때 정확도를 잃을 위험이 있습니다. 억의 숫자를 더하십시오. Terver는 99.7%의 경우에 발생하는 오류가 2*10^5를 곱한 한 숫자의 정확도를 초과하지 않을 것이라고 말합니다. 이제 이것은 심각합니다. 그리고 그때에도 항상 그런 것은 아닙니다.

개발자가 실제 오류를 평가하기 위해 정직한 CPU에서 정확한 계산을 여러 번 수행하는 것을 막는 사람은 없습니다.

합리적인 예방 조치를 취하면 이 기술을 사용할 수 있을 것 같습니다. 그리고 두 제조업체(AMD APU Llano 또는 Intel Sandy Bridge)의 최신 프로세서를 사용하여 일반적으로 개별 비디오 카드를 일시적으로 잊어버립니다. 나에게 어떤 차이가 있는지, 100배 또는 25배만 속도를 높입니다. 그리고 어떤 꿀벌도 죽지 않을 것입니다. 프로세서도 구동하지 않습니다.

사유: