아마도 Renat에게 이것으로부터 무엇을 배울 수 있는지 보도록 하십시오. 새로운 사양이 MQL5에서도 더 나은 성능을 제공할 수 있습니까?
C#/C++의 경우 필요한 경우 덤프할 수 있습니다. 가장 중요한 것은 가능한 최대 배기량을 갖는 것입니다. ;)
음디아. 지금까지, 새로운 MT4에 최소한 버전 1.1이 최종적으로 포함될 것이라는 소심한 희망으로 인해 CL 옵티마이저를 샤프용으로 다시 작성하지 못하게 되었습니다. 언어가 동일하고 컴파일러가 동일하며 근본적인 장애물이 없는 것 같습니다(MT4 테스터에서 OpenCL 지원 이 실제로 필요하지는 않지만 거부하지는 않겠습니다). 그들이 그것을 켜지 않으면 나는 왼쪽으로 생각할 것입니다.
그는 OOP 스타일의 작업을 CUDA GPU로 옮겼습니다. 2010년에 이 사업을 시작하다가 잠시 쉬다가 2011년부터 2014년 여름까지 워킹 버전 0.3까지 만들었습니다. 그는 100X ... 137X 배 의 가속을 달성했습니다. 이것은 복잡한 알고리즘에 있으며 어렵습니다.
이 작업은 C ++의 QuantLib 라이브러리를 사용했으며, 그 자신도 인정하듯 이 "OOP ->-> 절차적 접근" 경로를 따라 재작업해야 했습니다. 모두 CUDA GPU에서 작동하도록 하기 위해서입니다.
그는 다음과 같이 쓰고 있습니다.
"저는 초기 운동 기능을 위해 최소 제곱을 사용하여 GPU에서 LMM을 사용하여 IRD의 Monte Carlo 가격 책정을 구현했습니다.
C++ 및 CUDA 모두에서 kooderive.sourceforge.net에서 코드를 얻을 수 있습니다. 종이는 .....
이전에 C++에 사용했던 것과는 완전히 다른 코드를 CUDA에 사용했습니다. 본질적으로 저는 데이터를 중심 개념으로 취급하고 코드를 사용하여 데이터를 처리합니다. 스타일은 매우 기능적입니다. 이전의 C++ 구현이 객체 지향적이었기 때문에 많은 작업이 필요했습니다."
아마도 Renat에게 이것으로부터 무엇을 배울 수 있는지 보도록 하십시오. 새로운 사양이 MQL5에서도 더 나은 성능을 제공할 수 있습니까?
C#/C++의 경우 필요한 경우 덤프할 수 있습니다. 가장 중요한 것은 가능한 최대 배기량을 갖는 것입니다. ;)
이러한 시스템에서 이 분기의 일부 스크립트를 테스트했습니다.
CPU-Z
쿠다-Z
필요한 경우 다른 사람들이 결과를 빠르게 찾고 테스트하고 비교할 수 있도록 각 스크립트에 대해 게시된 메시지에 대한 링크를 제공합니다.
테스트 1
테스트 2
테스트 3
스케일 = 1000
테스트 4
테스트 5
테스트 6
테스트 7
테스트 8
또한 MetaDriver 의 qpu_EMA-Rainbow 표시기를 테스트하려고 했습니다.
CPU에서 결과는 때때로 최대 2배 더 좋습니다. 결과는 다음과 같습니다.
//---
Volodya( MetaDriver ), 어떤 결과를 얻었는지 보여주세요.
PS 커널 코드의 gpuEMA 함수 매개변수에서 유형을 __global 에서 __local 로 변경했습니다. 조금 빨라졌지만 여전히 CPU보다 느립니다.
또한 MetaDriver 의 qpu_EMA-Rainbow 표시기를 테스트하려고 했습니다.
CPU에서 결과는 때때로 최대 2배 더 좋습니다. 결과는 다음과 같습니다.
Volodya( MetaDriver ), 어떤 결과를 얻었는지 보여주세요.
PS 커널 코드의 gpuEMA 함수 매개변수에서 유형을 __global 에서 __local 로 변경했습니다. 조금 빨라졌지만 여전히 CPU보다 느립니다.
비슷한 결과가 있습니다. 이것은 오랫동안 논의되어 왔으며 논리적입니다. 작업이 너무 간단하여 메모리를 비디오 카드로 옮기고 다시 돌려도 효과가 없습니다. GPU의 장점은 더 복잡한 작업에서 나타납니다.
거래(파생상품)에 GPU 가속을 사용하는 예.
금융 수학, 특히 파생 상품 및 페어 옵션 거래에 관한 책으로 유명한 Mark Joshi는 수행한 작업에 대해 다음과 같이 보고했습니다.
http://ssrn.com/abstract=2388415
그는 OOP 스타일의 작업을 CUDA GPU로 옮겼습니다. 2010년에 이 사업을 시작하다가 잠시 쉬다가 2011년부터 2014년 여름까지 워킹 버전 0.3까지 만들었습니다. 그는 100X ... 137X 배 의 가속을 달성했습니다. 이것은 복잡한 알고리즘에 있으며 어렵습니다.
이 작업은 C ++의 QuantLib 라이브러리를 사용했으며, 그 자신도 인정하듯 이 "OOP ->-> 절차적 접근" 경로를 따라 재작업해야 했습니다. 모두 CUDA GPU에서 작동하도록 하기 위해서입니다.
그는 다음과 같이 쓰고 있습니다.
"저는 초기 운동 기능을 위해 최소 제곱을 사용하여 GPU에서 LMM을 사용하여 IRD의 Monte Carlo 가격 책정을 구현했습니다.
C++ 및 CUDA 모두에서 kooderive.sourceforge.net에서 코드를 얻을 수 있습니다. 종이는 .....
이전에 C++에 사용했던 것과는 완전히 다른 코드를 CUDA에 사용했습니다. 본질적으로 저는 데이터를 중심 개념으로 취급하고 코드를 사용하여 데이터를 처리합니다. 스타일은 매우 기능적입니다. 이전의 C++ 구현이 객체 지향적이었기 때문에 많은 작업이 필요했습니다."
자신의 오픈 소스 프로젝트:
http://sourceforge.net/projects/kooderive/