OpenCL: 실제 문제

 

OpenCL에 대한 주제는 충분하지만 예를 들어 제시한 작업은 무역과 너무 거리가 멀다.

그렇다면 OpenCL은 거래자들에게 무엇을 가져다 줄 수 있습니까?

예, 아직 OpenCL을 공부하지 않았기 때문에 요점을 알고 명확히 하고 싶습니다.

  1. 이것은 입력 데이터를 수신하고 다시 제공하는 별도의 프로그램입니까? 즉, MQL과의 상호작용이 전혀 없습니까?
  2. 일치 항목의 존재 여부만 확인하려는 경우 어레이 조회를 OpenCL로 이동할 가치가 있습니까?
  3. 최적화할 때 각 개별 스레드는 자체 OpenCL 초기화를 수행해야 하며 활성 스레드에 연결할 방법이 없습니까?
  4. 그리고 동영상을 최적화할 때 여러 OpenCL에서 동시에 속도가 느려지지 않습니까?
 
Roffild :

OpenCL에 대한 주제는 충분하지만 예를 들어 제시한 작업은 무역과 너무 거리가 멀다.

그렇다면 OpenCL은 거래자들에게 무엇을 가져다 줄 수 있습니까?

받을 수 있는 것은 줄 것입니다.

예, 아직 OpenCL을 공부하지 않았기 때문에 요점을 알고 명확히 하고 싶습니다.

글쎄, 그것을 연구하십시오. 아이넷이 도와드리겠습니다. 포럼의 질문, 보다 정확하게는 초급 질문에 휩쓸리지 마십시오. "작동 방식"에 대한 모든 정보는 인터넷 및 포럼 기사에 있습니다. 예를 들어, 한 사람이 스스로 연구에 뛰어들고 있고, 자료를 어느 정도 마스터하는 수준이 이미 가시적으로 보이는 것을 볼 때 도움을 주고 싶은 마음이 있습니다. "벌써 왔어, 가르쳐줘!" 포즈로 서 있는 프리로더들 돕고 싶지는 않지만 "뇌를 설정"하고 싶습니다. :)

오늘은 예외를 두겠습니다(기분은 좋은 편입니다). 하지만 초기 단계에서 명백한 미끄러짐이 있기 때문에 앞으로는 "아기 이야기"를 무시하고 특정 프로그래밍 질문에만 대답할 것입니다. 게다가 그렇지 않은 경우 너무 어리 석다.

1. 입력 데이터를 받아서 돌려주는 별도의 프로그램인가요? 즉, MQL과의 상호작용이 전혀 없습니까?

openCL 커널 작업 중에는 상호 작용이 없습니다. 함수 호출과의 유추에 의한 상호 작용: 1. 초기 매개변수 설정, 2. 계산 시작, 3. 결과 가져오기

2. 일치하는 항목이 있는지 확인하기만 하면 되는 경우 OpenCL에서 배열 검색을 수행할 가치가 있습니까?

모르겠어. 작업에 따라 다릅니다. 가치가 없을 수도 있습니다. 그리고 아마도 가치가 있습니다. 텔레파시 클럽이 어디에 있는지 아십니까? :)

3. 최적화할 때 각 개별 스레드는 자체적으로 OpenCL 초기화를 수행해야 하며 활성 스레드에 연결할 방법이 없습니까?

질문을 잘 이해하지 못했습니다. 터미널 전략 테스터/옵티마이저 에서 최적화를 의미한다면 그럴 가능성이 큽니다. 옵티마이저에서 openCL을 실행하지 않았습니다. 테스터에서 실행했지만 모든 것이 일관되고 하나의 커널을 재사용할 수 있습니다. 이것은 명백하고 설명이 필요하지 않습니다.
4. 그리고 최적화할 때 여러 OpenCL에서 동시에 비디오가 느려지지 않습니까?

옵티마이저에서 실행을 시도하지 않았습니다. 그러나 여러 호출이 서로 겹치면(여러 OCL 표시기와 Expert Advisors를 동시에 실행하여 이 작업을 수행했습니다) 자연스럽게 속도가 느려집니다.

// 리소스는 천장에서 가져오지 않습니다. 맞죠?

비디오 카드의 메모리에 과부하가 걸리는 경우(예를 들어, 여러 프로세스가 동시에 메모리 양을 초과하는 어레이를 비디오 메모리에 로드하려고 시도하는 경우) "드라이버를 중단"할 수 있습니다. - 완전한 재부팅(재설정) 비디오 카드 및 드라이버의 충돌에 대한 메시지 다음에 드라이버의 충돌에 대한 메시지가 표시됩니다. 적어도 내 카드/드라이버에서 이것은 여러 번 발생했습니다. 이것은 돌이킬 수 없는 유해한 결과로 이어지지 않으며, 충돌을 일으킨 프로그램만 일반적으로 중단되었습니다(다시 시작해야 함). 예전에는 아직도 단말기를 걸어두는 경우가 있었는데 최근에는 기억이 나지 않습니다.

// 그러나 나는 오랫동안 메모리에 대한 무례한 요청으로 드라이버를 "찢지"않았습니다. 나는 대략 "사치의 경계"를 느꼈습니다. :)

 
Roffild : OpenCL에 대한 주제는 충분하지만 예를 들어 제시한 작업은 무역과 너무 거리가 멉니다.

모든 것이 매우 간단합니다. 거래에 가까운 작업(예: 시세 기록 분석)을 수행하고 OpenCL을 사용하여 해결하려고 합니다. 여러 번 실패한 시도, 문헌에 대한 추가 연구 및 새로운 시도 후에 모든 것이 잘 될 것이라고 장담합니다. 그러나 영어 문학을 탐구하는 능력과 약간의 인내심, 그리고 모기가 최소한으로 존재해야 합니다.

OpenCL 드라이버는 이미 비디오 카드와 프로세서 에뮬레이션 모두에 최적화되어 있습니다(두 번째 경우에는 Intel 프로세서가 훨씬 더 강력할 수 있음). 그래서 열심히 노력해야 결국 긍정적 인 결과가 전혀 나오지 않습니다.

 
Roffild :

그렇다면 OpenCL은 거래자들에게 무엇을 가져다 줄 수 있습니까?

귀하는 이미 1-4번 항목에 대한 답변을 받았으며 귀하의 주요 질문에 감히 답변을 드리겠습니다. 빵"을 프로그래머에게.
 
샤라바니트를 하는 사람들? 선형 연립방정식의 해를 OpenCL로 옮길 수 있습니까? 시스템의 크기는 정말 클 수 있으며 여전히 뉘앙스가 있습니다.
 
TheXpert :
샤라바니트를 하는 사람들? 선형 연립방정식의 해를 OpenCL로 옮길 수 있습니까? 시스템의 크기는 정말 클 수 있으며 여전히 뉘앙스가 있습니다.

OpenCL의 SLAE 솔루션

귀하의 질문에 답변하는 정상적인 pdf입니다.

 

니콜라스, 친절에 감사드립니다. CUDA도 없고 코드도 없습니다.

아, 한 가지 더 말씀드리는 것을 잊었습니다. 행렬을 만드는 것은 그것을 푸는 것보다 더 많은 시간이 걸립니다 :) 따라서 구성을 병렬화해야 할 수도 있습니다.

 
TheXpert :

니콜라스, 친절에 감사드립니다. CUDA도 없고 코드도 없습니다.

아, 한 가지 더 말씀드리는 것을 잊었습니다. 행렬을 만드는 것은 그것을 푸는 것보다 더 많은 시간이 걸립니다 :) 따라서 구성을 병렬화해야 할 수도 있습니다.

생각해야 합니다. 초기 데이터는 무엇입니까? // 형식, 관심 데이터 구조

어떤 의미에서 매트릭스를 구축합니까? 버퍼의 무리에서? 나무에서? 에서 [...] ?

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных - Документация по MQL5
 
TheXpert :

니콜라스, 친절에 감사드립니다. CUDA도 없고 코드도 없습니다.

아, 한 가지 더 말씀드리는 것을 잊었습니다. 행렬을 만드는 것은 그것을 푸는 것보다 더 많은 시간이 걸립니다 :) 따라서 구성을 병렬화해야 할 수도 있습니다.

구현이 아니라 스키마를 의미했습니다. CUDA는 확실히 다르지만 일반적인 체계는 동일합니다.

나는 Vladimir에 동의합니다. 당신은 당신을 도울 정보가 거의 없습니다.

원칙적으로 다른 사람이 들어갈 가능성은 거의 없으므로 대중에게 가기 싫으면 개인 자리에 있는 아무나 가도 됩니다.

 
MetaDriver :

어떤 의미에서 우리는 매트릭스를 구축합니까? 버퍼의 무리에서? 나무에서? 에서 [...] ?

대략적으로 말하면, LSM 문제를 해결하기 위해 필요한 거대한 차원(10 - 1000 이상)의 공간이 있습니다.

LSM 문제의 솔루션은 궁극적으로 다음으로 축소됩니다.

(1) 미분방정식의 구성

(2) (1)에서 얻은 연립방정식 풀기

이제 솔루션 시간의 가장 큰 부분은 (1)입니다. 치수가 클수록 부품이 커집니다.

 

병렬 알고리즘에는 순차 알고리즘보다 이점이 있는 2개의 칩만 있습니다.

이것은 각 치아가 자체 스레드를 가지고 전체 길이를 따라 당길 때 빗살 알고리즘입니다.

그리고 피라미드 접기/펼치기. 펼치기는 덜 일반적이며 대부분 접습니다.

문제 설명에 이러한 칩이 포함되어 있지 않은 경우 병렬 솔버는 이점을 제공하지 않지만 메모리 로드 비용이 높기 때문에 속도가 느려지는 경우가 더 많습니다.