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

 
casinonsk : 두 번째는 그대로 0 로딩으로 유지되었습니다.

그리고 세 번째? 아니면 그렇지 않습니까?

양적완화 0 ParallelTester_00-01x__1(EURUSD,H1) 13:23:02 카운트 지시자 = 16; 카운트 기록 막대 = 144000; 카운트 패스 = 480000

EF 0 ParallelTester_00-01x__1(EURUSD,H1) 13:23:02 0 패스에서 GPU MaxResult==0.0의 결과

테스트가 어떻게든 잘못된 것 같습니다. 예, Count pass를 더 낮은 값으로 설정하면 1280이면 충분합니다.

그리고 CPU와 GPU의 비교 결과는 어디에 있습니까?

 
joo :


CountPass 262144에서 그래픽 드라이버가 의식을 잃고 충돌합니다. 진실은 즉시 일어납니다.

Tychkov 교수의 방법을 사용하여 CountPass가 CountBars 10에서 6628025보다 클 수 없다는 것을 알았습니다. 그렇지 않으면 MQL 컴파일러가 컴파일을 거부하고 오류가 발생합니다.

'inds' - 전역 변수 섹션이 너무 큽니다. ParallelTester_00-01x.mq5 86 7

더 작은 CountBars를 사용하면 컴파일러는 훨씬 더 끔찍한 CountPas 값을 건너뜁니다.

 2012.03 . 17 20 : 40 : 36      ParallelTester_00- 01 x (EURUSD,H1)       Соunt inticators = 16 ; Count history bars = 10 ; Count pass = 6628025
2012.03 . 17 20 : 40 : 36      ParallelTester_00- 01 x (EURUSD,H1)       GPU time = 717 ms

오 어떻게!

MQL 컴파일러는 GPU에 메모리가 충분하지 않다는 것을 어떻게 알 수 있습니까(또는 GPU에 없는가???)? - 메모리 부족 으로 인해 비디오 카드 드라이버가 충돌하는 것 같습니다.


블라디미르 에게:

그리고 왜 각 플라이에 동일한 배열을 제공합니까(메모리는 CountPass의 수에 정비례하여 소모됨)? - 시작은 하나의 일반 배열에서 데이터를 가져옵니다.

 
joo :

블라디미르 에게:

그리고 왜 각 플라이에 동일한 배열을 제공합니까(메모리는 CountPass의 수에 정비례하여 소모됨)? - 시작은 하나의 일반 배열에서 데이터를 가져옵니다.

그들은 이미 하나의 공통된 가격 및 지표 배열을 가지고 있습니다.

그리고 길이가 CountPass인 배열에는 non-rosettes(최적화된 매개변수)가 있습니다. 각 그리드에 대해 개별적입니다.

--

...하지만 나는 당신의 사고 방식을 좋아합니다. :)

 
joo :

Tychkov 교수의 방법을 사용하여 CountPass가 CountBars 10에서 6628025보다 클 수 없다는 것을 알았습니다. 그렇지 않으면 MQL 컴파일러가 컴파일을 거부하고 오류가 발생합니다.

'inds' - 전역 변수 섹션이 너무 큽니다. ParallelTester_00-01x.mq5 86 7

더 작은 CountBars를 사용하면 컴파일러는 훨씬 더 끔찍한 CountPas 값을 건너뜁니다.

오 어떻게!

MQL 컴파일러는 GPU에 메모리가 충분하지 않다는 것을 어떻게 알 수 있습니까(또는 GPU에 없는가???)? - 메모리 부족으로 인해 비디오 카드 드라이버가 충돌하는 것 같습니다.

하지만! 따라서 내 코드에는 기본 롤빵이 있습니다(82행).

 ////////////float nets[sizeof(NETs)];   // Вот так было. В корне неправильно.
////////////float inds[sizeof(Inds)];  

////////////float nets[sizeof(NETs)/sizeof(float)];  // Вот так будет видно в чём была ошибка.
////////////float inds[sizeof(Inds)/sizeof(float)];  // И в принципе будет работать, хотя лучше...
// ...Вот так - правильно и понятно откуда ноги.
float nets[CountPass*CountInd];
float inds[CountInd*CountBars];  

그것을 고치고 거의 4배 에 달하는 "메모리 부스트"를 얻으십시오.....나샤루...!.!! :)))))))))))))))

// 그런 순간에 나는 산타클로스가 된 기분이 든다... ;)

 
MetaDriver :

// 그런 순간에 나는 산타클로스가 된 기분이 든다... ;)

//당신이 산타클로스라면 나는 누구인가... ;)
 
5인의 영어 포럼을 살펴봤다. 비슷한 스레드 있지만 표시된 활동과 관심은 러시아어 포럼과 비교할 수 없습니다.
 
Mathemat :

그리고 세 번째? 아니면 그렇지 않습니까?

테스트가 뭔가 잘못된 것 같습니다. 예, Count pass를 더 낮은 값으로 설정하면 1280이면 충분합니다.

그리고 CPU와 GPU의 비교 결과는 어디에 있습니까?

씨엘 0 ParallelTester_00-01x__1(EURUSD,H1) 00:02:09 OpenCL 초기화 OK!
IH 0 ParallelTester_00-01x__1(EURUSD,H1) 00:02:09 GPU 시간 = 187ms
에프엔 0 ParallelTester_00-01x__1(EURUSD,H1) 00:02:09 카운트 표시기 = 16; 카운트 기록 막대 = 144000; 카운트 패스 = 1280
씨엘 0 ParallelTester_00-01x__1(EURUSD,H1) 00:02:09 1190 패스에서 GPU MaxResult==0.92493의 결과
 

비디오 카드의 온도를 반환하는 MQL 함수가 반드시 필요합니다. 그렇지 않으면 굽는 데 오래 걸리지 않습니다. 나 자신에게가 아니라 클라이언트에게.

// MQL이 없으면 DLL을 사용해야 하는데 좋지 않은 점 - 시장이 끊어지는 등의 불편함.

 
Me taDriver:

비디오 카드의 온도를 반환하는 MQL 함수가 반드시 필요합니다. 그렇지 않으면 굽는 데 오래 걸리지 않습니다. 집에서가 아니라 클라이언트에서.
또한 한계 온도를 반환해야 하며 한계에 도달하면 계산 자체를 느리게 해야 합니다. 비디오 카드가 다르고 방열도 다릅니다.
 
MetaDriver :

비디오 카드의 온도를 반환하는 MQL 함수가 반드시 필요합니다. 그렇지 않으면 굽는 데 오래 걸리지 않습니다. 집에서가 아니라 클라이언트에서.

// MQL이 없으면 DLL을 사용해야 하는데 좋지 않은 점 - 시장이 끊어지는 등의 불편함.

컴퓨터 장난감은 GPU의 온도와 최상의 부하에 신경 쓰지 않으며 비디오 카드는 작동하지 않습니다. 그리고 게임 자체가 GPU를 태우지 않도록 FPS 속도를 늦추도록 장난감 제조업체에 묻는 게이머는 단 한 명도 없을 것입니다. 게이머의 경우 유추는 직접적입니다. 속도가 필요하고 필요한 경우 추가로 온도를 관리해야 합니다(추가 냉각 시스템).

그런 다음 CPU 온도를 반환하는 MQL 함수가 필요합니다. :) 그렇지 않으면 프로세서가 타버릴 것입니다.


ZY 실현 가능하다면 왜 안 될까요? - 물론 아프지 않을 것이다.