Стали доступны утекшие в сеть слайды, где с демонстрируется разница между процессорами Intel Ivy Bridge и Sandy Bridge в бенчмарках. Если быть точным, то сравниваются модели Core i7-3770 и Core i7-2600 (i7-3770K и i7-2600K по какой-то причине не были использованы).
mql5 : 새 빌드에서 CLContextCreate 함수의 매개변수가 변경되어 이제 bool use_gpu 대신 int 장치가 사용됩니다.
device>=0이 OpenCL 장치 번호로 순서대로 사용될 때 with device==OPENCL_DEVICE_ANY (-1) 사용 가능한 모든 장치에서 자동 선택이 사용됩니다. with device==OPENCL_DEVICE_GPU (-2) 사용 가능한 모든 GPU 장치에서 자동 선택이 사용됩니다.
OpenCL이 i3-2120에서 어떻게 작동하는지 확인하기로 결정했습니다(이것은 제 컴퓨터가 아니며 시스템에 별도의 비디오가 없습니다). AMD APP SDK 제공, OpenCL-Z가 모든 것을 결정했습니다. 초기화하는 동안 터미널에 다음 줄이 표시되었습니다.
2012.04.02 03:59:47 Terminal CPU: GenuineIntel Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz with OpenCL 1.1 (4 units, 3310 MHz, 8039 Mb, version 2.0)
메시지에 첨부되고 빌드 619의 최신 변경 사항을 고려하여 약간 수정된 MetaDriver '코드를 확인했습니다( 여기 에서 첫 번째 테스트 참조). 결과:
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) CpuTime/GpuTime = 0.741385550890401 2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) Result on Cpu МахResult==0.79567 at 734 pass 2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) Соunt inticators = 16; Count history bars = 144000; Count pass = 1280 2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) CPU time = 20483 ms 2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) Result on Gpu МахResult==0.79567 at 734 pass 2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) Соunt inticators = 16; Count history bars = 144000; Count pass = 1280 2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) GPU time = 27628 ms 2012.04.02 03:59:55 ParallelTester_00-01x (EURUSD,H1) OpenCL init OK!
"GPU"에서 실행하는 동안 4개의 프로세서 스레드가 모두 100%로 완전히 사용되었습니다.
가속을 달성하려면 어떻게 해야 합니까? Pentium G840 기반 시스템(별도의 비디오도 없음)에서 가속은 25배였습니다.
추신 서비스데스크에 쪽지 보냈는데 제 문제일 가능성이 더 큽니다... 이미 눈을 감고 AMD APP SDK를 올바르게 설치하고 제거하는 방법을 배운 것 같습니다만, 내가 모든 함정을 우회하지 않았다는 것을. 그리고 시스템에 Intel OpenCL Runtime이 설치되어 있는데도 불구하고 단말기에서 돌이 여전히 OpenCL 장치로 인식되지 않습니다.
뭔가 효과가 없습니다. 초기화 문자열은 정상입니다.
2012.04.01 05:52:01 Terminal CPU: GenuineIntel Intel(R) Pentium(R) CPU G840 @ 2.80GHz with OpenCL 1.2 (2 units, 2793 MHz, 7912 Mb, version 2.0 (sse2))
(AMD에서 OpenCL 1.1을 설정하고 그 위에 1.2를 설정). 그러나 이제 테스트 를 실행하면
2012.04.01 06:06:49 ParallelTester_00-01x (EURUSD,H1) OpenCL not found.
그 전에 Intel 그래픽 드라이버를 최신 버전으로 업데이트한 후 자체 설치 프로그램으로 AMD 드라이버를 철거한 다음 모든 것을 다시 설치했습니다.
그리고 내가 지금 무엇을 잘못하고 있습니까?
추신 하지만 곧 Ivy가 출시될 예정이므로 Intel HD 4000과 함께 통합 그래픽에서 Intel이 무엇을 할 수 있는지 모두에게 보여줄 것입니다. 그래픽 을 보세요.
그리고 내가 지금 무엇을 잘못하고 있습니까?
그리고 내가 지금 무엇을 잘못하고 있습니까?
새 빌드에서 CLContextCreate 함수의 매개변수가 변경되어 이제 bool use_gpu 대신 int 장치가 사용됩니다.
device>=0이 OpenCL 장치 번호로 순서대로 사용될 때
with device==OPENCL_DEVICE_ANY (-1) 사용 가능한 모든 장치에서 자동 선택이 사용됩니다.
with device==OPENCL_DEVICE_GPU (-2) 사용 가능한 모든 GPU 장치에서 자동 선택이 사용됩니다.
코드로 어떻게 하는지 보여주세요. CLContextCreate( OPENCL_DEVICE_ANY )를 호출 하고 컴파일할 때 다음 결과를 얻습니다.
'OPENCL_DEVICE_ANY' - undeclared identifier ParallelTester_00-01x.mq5 145 31
빌드 619.
그리고 두 번째 질문: 최신 도움말은 어디에서 찾을 수 있습니까?
추신 -1 인수를 입력하자마자 작동했습니다. OPENCL_DEVICE_ANY 상수가 아직 선언되지 않았습니다. :)
그러나 후속 빌드에서는 CL_USE_ANY/CL_USE_GPU_ONLY가 됩니다.
OpenCL이 i3-2120에서 어떻게 작동하는지 확인하기로 결정했습니다(이것은 제 컴퓨터가 아니며 시스템에 별도의 비디오가 없습니다). AMD APP SDK 제공, OpenCL-Z가 모든 것을 결정했습니다. 초기화하는 동안 터미널에 다음 줄이 표시되었습니다.
2012.04.02 03:59:47 Terminal CPU: GenuineIntel Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz with OpenCL 1.1 (4 units, 3310 MHz, 8039 Mb, version 2.0)
메시지에 첨부되고 빌드 619의 최신 변경 사항을 고려하여 약간 수정된 MetaDriver '코드를 확인했습니다( 여기 에서 첫 번째 테스트 참조). 결과:
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) CpuTime/GpuTime = 0.741385550890401
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) Result on Cpu МахResult==0.79567 at 734 pass
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) CPU time = 20483 ms
2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) Result on Gpu МахResult==0.79567 at 734 pass
2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) GPU time = 27628 ms
2012.04.02 03:59:55 ParallelTester_00-01x (EURUSD,H1) OpenCL init OK!
"GPU"에서 실행하는 동안 4개의 프로세서 스레드가 모두 100%로 완전히 사용되었습니다.
가속을 달성하려면 어떻게 해야 합니까? Pentium G840 기반 시스템(별도의 비디오도 없음)에서 가속은 25배였습니다.
추신 서비스데스크에 쪽지 보냈는데 제 문제일 가능성이 더 큽니다... 이미 눈을 감고 AMD APP SDK를 올바르게 설치하고 제거하는 방법을 배운 것 같습니다만, 내가 모든 함정을 우회하지 않았다는 것을. 그리고 시스템에 Intel OpenCL Runtime이 설치되어 있는데도 불구하고 단말기에서 돌이 여전히 OpenCL 장치로 인식되지 않습니다.
PPS 다른 것을 파헤친 것으로 나타났습니다( https://www.mql5.com/en/forum/6042/page25 ).
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
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) 1125 패스에서 Cpu MaxResult==1.27347에 대한 결과
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) 카운트 표시기 = 16; 카운트 기록 막대 = 144000; 카운트 패스 = 1280
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) CPU 시간 = 21309ms
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD,M1) 1125 패스에서 GPU MaxResult==1.27347에 대한 결과
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD,M1) 표시기 = 16; 카운트 기록 막대 = 144000; 카운트 패스 = 1280
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD,M1) GPU 시간 = 29001ms
2012.03.05 17:44:33 ParallelTester_00-01x (EURUSD,M1) OpenCL 초기화 OK!
:((((
어쩌면 "잘못된 시스템의 수류탄"이 있습니까? (AMD SDK 버전 기준)
결국 GPU + OpenCL이 문제입니다!
2012.04.08 00:41:22 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CpuTime/GpuTime = 728.1857142857143
2012.04.08 00:41:22 ParallelTester_00-02-(16x7x3) (USDJPY,M30) 50패스에서 CPU MaxResult==3.78654에 대한 결과
2012.04.08 00:41:22 ParallelTester_00-02-(16x7x3) (USDJPY,M30) 표시기 = 16; 카운트 기록 막대 = 50000; 카운트 패스 = 1280
2012.04.08 00:41:22 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CPU 시간 = 101946ms
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) GPU MaxResult==3.78654 at 50 pass
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) 카운트 지시자 = 16; 카운트 기록 막대 = 50000; 카운트 패스 = 1280
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) GPU 시간 = 140ms
결국 GPU + OpenCL이 문제입니다!
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) GPU 시간 = 140ms
GPU 계산 시간이 너무 짧지 않도록 테스트를 제안합니다. 어쨌든 140ms, imho는 특히 수십 밀리초의 GetTickCount() 측정 오류로 인해 너무 신뢰할 수 없습니다.
MD 님 너무 부럽습니다.
GPU 계산 시간이 너무 짧지 않도록 테스트를 제안합니다.
CPU를 기다릴 인내심이 없습니다 :) 여기, 숲으로 더 멀리 갈수록 GPU는 더 시원해집니다...
비슷하게. :)
하지만 지금 당장은 4096마리의 꿀벌에 발사할 것입니다. CPU는 5분 후에 계산됩니다.