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

 
fyords : 보고서에서 "보기"를 마우스 오른쪽 버튼으로 클릭하고 새 창에서 "요청" 버튼을 클릭하면 로그가 제 시간에 올바르게 작성되고 읽기가 더 편리합니다(저를 위해).

감사합니다. 보고서를 여는 줄 몰랐습니다.

그 증가폭은 더욱 커졌다.

나는 놀랐습니다. 이것은 최대 $80의 가치가 있는 예산 카드입니다! 따라서 NVidia는 드라이버에 대해 매우 열심히 일했습니다.

 

다음은 새로운 결과입니다.

 2012.06 . 01 09 : 25 : 23      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     ========================================
2012.06 . 01 09 : 32 : 25      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     CPU time = 421203 ms
2012.06 . 01 09 : 32 : 25      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     Соunt indicators = 16 ; Count history bars = 144000 ; Count pass = 12800
2012.06 . 01 09 : 32 : 25      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     Result on Cpu МахResult== 1.2809 at 9448 pass
2012.06 . 01 09 : 32 : 25      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     -------------------------
2012.06 . 01 09 : 32 : 28      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     Device number = 0
2012.06 . 01 09 : 32 : 39      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     GPU time = 11263 ms
2012.06 . 01 09 : 32 : 39      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     CpuTime/GpuTime = 37.39705229512563
2012.06 . 01 09 : 32 : 39      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     Result on Gpu МахResult== 1.2809 at 9448 pass
2012.06 . 01 09 : 32 : 39      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     ------------
2012.06 . 01 09 : 32 : 39      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     Device number = 1
2012.06 . 01 09 : 32 : 40      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     GPU time = 998 ms
2012.06 . 01 09 : 32 : 40      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     CpuTime/GpuTime = 422.0470941883768
2012.06 . 01 09 : 32 : 40      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     Result on Gpu МахResult== 1.2809 at 9448 pass
2012.06 . 01 09 : 32 : 40      ParallelTester_00- 01 x_new_cycle (EURUSD,D1)     ------------

이해합니다: 1. 순수 CPU, 2. OpenCL이 있는 CPU, 3. OpenCL이 있는 GPU?

그리고 여전히 - 422.

Mathemat :

나는 놀랐습니다. 이것은 최대 $80의 가치가 있는 예산 카드입니다! 따라서 NVidia는 드라이버에 대해 매우 열심히 일했습니다.

그리고 누더기에서 재물에 이르기까지 얼마나 놀랐는지. NVidia가 이 포럼을 읽고 비슷한 테스트를 하고 버그를 찾아 수정한 것 같습니다.

이제 전략 테스터 자신이 모델링할 대상을 선택한 경우, 즉 코드를 강제로 작성하지 않으면 매우 좋을 것입니다. 그래도 7분에 대한 1초(동영상이 허용하지 않거나 누락된 경우 11초)가 파워입니다.

 
작은 오차 내에서 테스트를 수행하려면 결과를 평균화하거나 극한값만큼 떨어뜨리면서 일련의 측정을 실행하는 형태의 좋은 방법이 있습니다. 그러나 물론 결과를 안정화하려면 계산량을 늘리는 것이 좋습니다.

최신 운영 체제와 멀티 코어 프로세서는 GetTickCount 를 통해 측정 분산 문제를 심각하게 제거했습니다. 내 원래 의견은 "GetTickCount의 평균 오류는 최소 수십 밀리초입니다"라는 잘못된 진술에 관한 것입니다.
 
Intel 프로세서 소유자의 관심을 끌기 위해! nVidia 301.42 드라이버를 설치하면 프로세서용 OpenCL 드라이버가 자동으로 설치되며,

레지스트리에서 다음과 같이 보입니다.

[HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors]
"nvcuda.dll"=dword:00000000
"amdocl.dll"=dword:00000000
"amdocl64.dll"=dword:00000000

"IntelOpenCL64.dll"=dword:00000000

Intel의 기본 드라이버(녹색으로 강조 표시)보다 약 1.5배 더 느리게 작동합니다(빨간색으로 강조 표시).

해당 레지스트리 값을 삭제할 수 있지만 만일을 대비하여 분기를 저장하십시오.

 

친애하는 관리자. 나는 오랫동안 당신의 포럼에 없었습니다. 아마도 이 순간을 놓쳤을 것입니다.

클라우드 요구 사항에 맞는 비디오 카드 제공이 구현됩니까?

 
ilovebtc :

친애하는 관리자. 나는 오랫동안 당신의 포럼에 없었습니다. 아마도 이 순간을 놓쳤을 것입니다.

클라우드 요구 사항에 맞는 비디오 카드 제공이 구현됩니까?

거의 준비 https://www.mql5.com/ru/forum/23/page15#comment_201948

19. MetaTester: 테스트 에이전트에서 OpenCL 프로그램 사용에 대한 지원이 추가되었습니다.

OpenCL 프로그램은 OpenCL 1.1 표준 이상을 지원하는 비디오 카드에서 계산을 수행하도록 설계되었습니다. 최신 비디오 카드에는 들어오는 데이터 스트림에 대해 간단한 수학 연산을 동시에 수행할 수 있는 수백 개의 소형 특수 프로세서가 포함되어 있습니다. OpenCL 언어는 이러한 병렬 컴퓨팅의 구성을 처리하고 특정 클래스의 작업에 대해 엄청난 가속을 달성할 수 있도록 합니다.
테스트 후 분산 네트워크에서 OpenCL을 활성화합니다.
 
fyords : 1. 순수 CPU, 2. OpenCL이 있는 CPU, 3. OpenCL이 있는 GPU를 이해합니다.

네, 그러죠.

그리고 첨부된 스크립트를 스크랩하고 결과를 올릴 수는 없나요? 정말 흥미롭습니다.

많은 숫자를 두려워하지 마십시오. 그들은 단지 계산의 정확성을 확인하기 위한 것입니다.

스크립트는 또한 모든 장치에서 실행됩니다. 주요 작업은 두 개의 큰 행렬을 곱하는 것입니다.

설정은 코드 내에서만 변경할 수 있습니다. 이 행에서 행렬의 선형 크기 _size:

 #define _size       2000

메모리가 충분하지 않은 경우에만 변경하십시오. 이것의 신호는 개별 GPU에서 실행할 때 배열 수의 불일치입니다. 숫자의 차이가 10^(-4)보다 크면 명백한 오류입니다. 하지만 당신은 충분한 기억력을 가지고 있는 것 같습니다.

파일:
 

예를 들어 Radeon 6930 비디오 카드가 있고 1280 스트림 프로세서가 있습니다. 에이전트 목록에 어떻게 표시됩니까? 장치 1개 또는 1280개 모두와 같습니다.

이것만으로도 프로세서 10개보다 몇 배나 빠르며 추가된 장치 1개에 대해 보너스가 사라지지 않습니다.

 
Mathemat :

그리고 첨부된 스크립트를 스크랩하고 결과를 올릴 수는 없나요? 정말 흥미롭습니다.

아니요, 스크랩이 아닙니다. 가장 흥미로운. 설정에서 아무것도 변경하지 않았습니다.

 2012.06 . 02 09 : 28 : 27      vect_v2_all_devices (EURUSD,D1) =======================================
2012.06 . 02 09 : 28 : 27      vect_v2_all_devices (EURUSD,D1) OCL martices mul:         ROWS1 = 2000 ; COLSROWS = 2000 ; COLS2 = 2000
2012.06 . 02 09 : 30 : 31      vect_v2_all_devices (EURUSD,D1) CPUTime = 124.504
2012.06 . 02 09 : 30 : 31      vect_v2_all_devices (EURUSD,D1) ---------------
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) read = 4000000 elements
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) Device = 0 : time = 2.824 sec.
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) CPUTime / GPUTotalTime = 44.088
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) sum( 1968 , 1939 ) = - 5.27639246 ;    thirdCPU[ 1968 , 1939 ] = - 5.27639246 ;    buf[ 1968 , 1939 ] = - 5.27639198
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) sum( 585 , 810 ) = 3.74615073 ;    thirdCPU[ 585 , 810 ] = 3.74615073 ;    buf[ 585 , 810 ] = 3.74614906
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) sum( 1131 , 1732 ) = - 4.46934557 ;    thirdCPU[ 1131 , 1732 ] = - 4.46934557 ;    buf[ 1131 , 1732 ] = - 4.46934605
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) sum( 587 , 999 ) = - 4.46048546 ;    thirdCPU[ 587 , 999 ] = - 4.46048546 ;    buf[ 587 , 999 ] = - 4.46048260
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) sum( 983 , 1903 ) = 3.42076445 ;    thirdCPU[ 983 , 1903 ] = 3.42076445 ;    buf[ 983 , 1903 ] = 3.42076564
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) sum( 1927 , 313 ) = 5.62960339 ;    thirdCPU[ 1927 , 313 ] = 5.62960339 ;    buf[ 1927 , 313 ] = 5.62960196
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) sum( 355 , 1897 ) = 5.86679220 ;    thirdCPU[ 355 , 1897 ] = 5.86679220 ;    buf[ 355 , 1897 ] = 5.86678505
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) sum( 1455 , 1651 ) = - 3.67937088 ;    thirdCPU[ 1455 , 1651 ] = - 3.67937088 ;    buf[ 1455 , 1651 ] = - 3.67936754
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) sum( 1207 , 856 ) = 1.30920172 ;    thirdCPU[ 1207 , 856 ] = 1.30920172 ;    buf[ 1207 , 856 ] = 1.30920100
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) sum( 1699 , 575 ) = 2.55669522 ;    thirdCPU[ 1699 , 575 ] = 2.55669522 ;    buf[ 1699 , 575 ] = 2.55669498
2012.06 . 02 09 : 30 : 38      vect_v2_all_devices (EURUSD,D1) ________________________
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) read = 4000000 elements
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) Device = 1 : time = 1.514 sec.
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) CPUTime / GPUTotalTime = 82.235
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) sum( 407 , 514 ) = - 3.69270682 ;    thirdCPU[ 407 , 514 ] = - 3.69270682 ;    buf[ 407 , 514 ] = - 3.69270515
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) sum( 1421 , 1902 ) = - 7.43944120 ;    thirdCPU[ 1421 , 1902 ] = - 7.43944120 ;    buf[ 1421 , 1902 ] = - 7.43943167
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) sum( 1197 , 1072 ) = - 1.49989450 ;    thirdCPU[ 1197 , 1072 ] = - 1.49989450 ;    buf[ 1197 , 1072 ] = - 1.49989557
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) sum( 1249 , 1056 ) = - 0.22817086 ;    thirdCPU[ 1249 , 1056 ] = - 0.22817086 ;    buf[ 1249 , 1056 ] = - 0.22817032
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) sum( 385 , 1856 ) = 3.88903213 ;    thirdCPU[ 385 , 1856 ] = 3.88903213 ;    buf[ 385 , 1856 ] = 3.88902068
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) sum( 952 , 488 ) = 0.37963703 ;    thirdCPU[ 952 , 488 ] = 0.37963703 ;    buf[ 952 , 488 ] = 0.37963703
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) sum( 345 , 1572 ) = 2.28500485 ;    thirdCPU[ 345 , 1572 ] = 2.28500485 ;    buf[ 345 , 1572 ] = 2.28500390
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) sum( 1928 , 468 ) = - 1.35805547 ;    thirdCPU[ 1928 , 468 ] = - 1.35805547 ;    buf[ 1928 , 468 ] = - 1.35805535
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) sum( 1881 , 1968 ) = - 3.12033391 ;    thirdCPU[ 1881 , 1968 ] = - 3.12033391 ;    buf[ 1881 , 1968 ] = - 3.12033129
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) sum( 1454 , 575 ) = 5.97233009 ;    thirdCPU[ 1454 , 575 ] = 5.97233009 ;    buf[ 1454 , 575 ] = 5.97232151
2012.06 . 02 09 : 30 : 42      vect_v2_all_devices (EURUSD,D1) ________________________

이 수치에서 나는 아무것도 이해하지 못했습니다. 설명하다? 글쎄, 적어도 손가락에 : 좋은지 아닌지? 장치마다 다르며 5-6행에서 이미 소수점 위치가 다릅니다.

이해하는 것 같습니다. 이것은 반복 작업에 대한 다중 테스트이며 총 시간은 각 장치의 평균입니다. 그래서?

 
fyords : 이 숫자에서 나는 아무것도 이해하지 못했습니다. 설명하다? 글쎄, 적어도 손가락에 : 좋은지 아닌지? 장치마다 다르며 5-6행에서 이미 소수점 위치가 다릅니다.
sum( 407 , 514 ) = - 3.69270682 ;    thirdCPU[ 407 , 514 ] = - 3.69270682 ;    buf[ 407 , 514 ] = - 3.69270515

이것은 단지 테스트 숫자입니다. 약 0.00001의 정확도로 일치하면 모든 것이 정상입니다. 인덱스는 무작위로 선택됩니다 - 계산의 정확성에 대한 선택적 검증. 글쎄, 우리는 결과 행렬의 모든 400만 요소에 대한 완전한 검사의 결과를 여기에 인쇄하지 않을 것입니다?!

이해하는 것 같습니다. 이것은 반복 작업에 대한 다중 테스트이며 총 시간은 각 장치의 평균입니다. 그래서?

아니오, 이것은 두 개의 큰 행렬의 단일 곱셈 연산입니다.

성능 면에서: 이 카드에 매우 좋습니다. 이제 내 결과입니다. 기기(아래에서 위로 - 초기화 순서 ):

 2012.06 . 02 05 : 49 : 25      OpenCL  CPU: GenuineIntel  Intel(R) Pentium(R) CPU G840 @ 2.80 GHz with OpenCL 1.2 ( 2 units, 2793 MHz, 8040 Mb, version 2.0 (sse2))
2012.06 . 02 05 : 49 : 25      OpenCL  GPU: Advanced Micro Devices, Inc. ATI RV770 with OpenCL 1.0 ( 10 units, 780 MHz, 512 Mb, version CAL 1.4 . 1720 )
2012.06 . 02 05 : 49 : 25      OpenCL  CPU: Intel(R) Corporation  Intel(R) Pentium(R) CPU G840 @ 2.80 GHz with OpenCL 1.1 ( 2 units, 2800 MHz, 8040 Mb, version 1.1 )

저것들. 먼저 Intel의 OCL 엔진이 탑재된 Intel CPU, 다음에는 내 공룡 HD 4870, 그리고 다시 AMD 엔진이 탑재된 돌입니다. 스크립트:

 2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) ________________________
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) sum( 1477 , 98 ) = - 5.84002066 ;    thirdCPU[ 1477 , 98 ] = - 5.84002066 ;    buf[ 1477 , 98 ] = - 5.84001255
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) sum( 1339 , 1186 ) = 0.59214997 ;    thirdCPU[ 1339 , 1186 ] = 0.59214997 ;    buf[ 1339 , 1186 ] = 0.59215009
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) sum( 1410 , 1861 ) = - 0.27033439 ;    thirdCPU[ 1410 , 1861 ] = - 0.27033439 ;    buf[ 1410 , 1861 ] = - 0.27033412
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) sum( 1282 , 459 ) = - 0.87189484 ;    thirdCPU[ 1282 , 459 ] = - 0.87189484 ;    buf[ 1282 , 459 ] = - 0.87189591
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) sum( 710 , 1645 ) = 4.86117268 ;    thirdCPU[ 710 , 1645 ] = 4.86117268 ;    buf[ 710 , 1645 ] = 4.86116362
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) sum( 526 , 938 ) = 0.94805324 ;    thirdCPU[ 526 , 938 ] = 0.94805324 ;    buf[ 526 , 938 ] = 0.94805157
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) sum( 914 , 489 ) = 5.58242941 ;    thirdCPU[ 914 , 489 ] = 5.58242941 ;    buf[ 914 , 489 ] = 5.58243275
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) sum( 811 , 257 ) = - 1.11584055 ;    thirdCPU[ 811 , 257 ] = - 1.11584055 ;    buf[ 811 , 257 ] = - 1.11583853
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) sum( 318 , 498 ) = 1.62952971 ;    thirdCPU[ 318 , 498 ] = 1.62952971 ;    buf[ 318 , 498 ] = 1.62952805
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) sum( 648 , 1434 ) = - 5.57316303 ;    thirdCPU[ 648 , 1434 ] = - 5.57316303 ;    buf[ 648 , 1434 ] = - 5.57315731
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) CPUTime / GPUTotalTime = 29.879
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) Device = 2 : time = 3.105 sec.
2012.06 . 02 07 : 38 : 19      vect_v2_all_devices (EURUSD,H1) read = 4000000 elements
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) ________________________
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) sum( 684 , 439 ) = 0.21124490 ;    thirdCPU[ 684 , 439 ] = 0.21124490 ;    buf[ 684 , 439 ] = 0.21124732
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) sum( 795 , 204 ) = - 1.68047857 ;    thirdCPU[ 795 , 204 ] = - 1.68047857 ;    buf[ 795 , 204 ] = - 1.68047154
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) sum( 579 , 1503 ) = 2.46559286 ;    thirdCPU[ 579 , 1503 ] = 2.46559286 ;    buf[ 579 , 1503 ] = 2.46558809
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) sum( 675 , 1504 ) = 0.44935751 ;    thirdCPU[ 675 , 1504 ] = 0.44935751 ;    buf[ 675 , 1504 ] = 0.44935691
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) sum( 1251 , 1415 ) = - 2.85569835 ;    thirdCPU[ 1251 , 1415 ] = - 2.85569835 ;    buf[ 1251 , 1415 ] = - 2.85569715
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) sum( 204 , 1755 ) = 0.31420049 ;    thirdCPU[ 204 , 1755 ] = 0.31420049 ;    buf[ 204 , 1755 ] = 0.31420231
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) sum( 1999 , 74 ) = - 2.22978306 ;    thirdCPU[ 1999 , 74 ] = - 2.22978306 ;    buf[ 1999 , 74 ] = - 2.22977948
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) sum( 436 , 657 ) = 0.59192652 ;    thirdCPU[ 436 , 657 ] = 0.59192652 ;    buf[ 436 , 657 ] = 0.59192693
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) sum( 967 , 922 ) = - 4.91348410 ;    thirdCPU[ 967 , 922 ] = - 4.91348410 ;    buf[ 967 , 922 ] = - 4.91348314
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) sum( 1489 , 1175 ) = - 2.48868656 ;    thirdCPU[ 1489 , 1175 ] = - 2.48868656 ;    buf[ 1489 , 1175 ] = - 2.48868561
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) CPUTime / GPUTotalTime = 179.795
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) Device = 1 : time = 0.516 sec.
2012.06 . 02 07 : 38 : 15      vect_v2_all_devices (EURUSD,H1) read = 4000000 elements
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) ________________________
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) sum( 303 , 1215 ) = - 7.46387863 ;    thirdCPU[ 303 , 1215 ] = - 7.46387863 ;    buf[ 303 , 1215 ] = - 7.46388054
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) sum( 1173 , 1406 ) = - 5.64940453 ;    thirdCPU[ 1173 , 1406 ] = - 5.64940453 ;    buf[ 1173 , 1406 ] = - 5.64940882
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) sum( 1617 , 1405 ) = - 0.98162729 ;    thirdCPU[ 1617 , 1405 ] = - 0.98162729 ;    buf[ 1617 , 1405 ] = - 0.98162866
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) sum( 760 , 1003 ) = - 0.97699410 ;    thirdCPU[ 760 , 1003 ] = - 0.97699410 ;    buf[ 760 , 1003 ] = - 0.97699606
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) sum( 679 , 793 ) = - 5.41226530 ;    thirdCPU[ 679 , 793 ] = - 5.41226530 ;    buf[ 679 , 793 ] = - 5.41227150
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) sum( 1345 , 1865 ) = 0.95630527 ;    thirdCPU[ 1345 , 1865 ] = 0.95630527 ;    buf[ 1345 , 1865 ] = 0.95630503
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) sum( 1289 , 1659 ) = - 3.82919979 ;    thirdCPU[ 1289 , 1659 ] = - 3.82919979 ;    buf[ 1289 , 1659 ] = - 3.82920074
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) sum( 1216 , 1759 ) = 4.87398672 ;    thirdCPU[ 1216 , 1759 ] = 4.87398672 ;    buf[ 1216 , 1759 ] = 4.87398672
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) sum( 1268 , 1060 ) = 2.78621030 ;    thirdCPU[ 1268 , 1060 ] = 2.78621030 ;    buf[ 1268 , 1060 ] = 2.78621435
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) sum( 1686 , 577 ) = - 4.36586094 ;    thirdCPU[ 1686 , 577 ] = - 4.36586094 ;    buf[ 1686 , 577 ] = - 4.36585188
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) CPUTime / GPUTotalTime = 22.783
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) Device = 0 : time = 4.072 sec.
2012.06 . 02 07 : 38 : 14      vect_v2_all_devices (EURUSD,H1) read = 4000000 elements
2012.06 . 02 07 : 38 : 10      vect_v2_all_devices (EURUSD,H1) ---------------
2012.06 . 02 07 : 38 : 10      vect_v2_all_devices (EURUSD,H1) CPUTime = 92.774
2012.06 . 02 07 : 36 : 37      vect_v2_all_devices (EURUSD,H1) OCL martices mul:         ROWS1 = 2000 ; COLSROWS = 2000 ; COLS2 = 2000
2012.06 . 02 07 : 36 : 37      vect_v2_all_devices (EURUSD,H1) =======================================
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
  • www.mql5.com
Основы языка / Переменные / Создание и уничтожение объектов - Документация по MQL5