MQL의 비동기 및 다중 스레드 프로그래밍 - 페이지 23

 
Maxim Romanov :
opencl이 적합하지 않은 이유를 설명해 주십시오. 터미널에서는 opencl 코드를 작성하는 기능이 구현되어 있으며 이것이 멀티스레딩입니다. 나는 그들이 여기에 쓰는 다중 스레드와 이 칩의 차이점이 무엇인지 스스로 이해하고 싶습니다.
글쎄, 또는 누가 알면 내가 이해할 수 있도록 설명하십시오.

VPS 서버에 비디오 카드가 없거나 있는 경우 비용 효율적이지 않습니다.))
예, LAN상의 대부분의 사용자에게도 vidyushki는 opencl을 지원하지 않습니다))
opencl에서 코드 자체를 작성하는 복잡성은 말할 것도 없습니다.
예, 옵션이 있지만 매우 좁은 범위의 사람들을 위한 것입니다.

 
Roman :

VPS 서버에 비디오 카드가 없거나 있는 경우 비용 효율적이지 않습니다.))
예, LAN상의 대부분의 사용자에게도 vidyushki는 opencl을 지원하지 않습니다))
opencl에서 코드 자체를 작성하는 복잡성은 말할 것도 없습니다.
예, 옵션이 있지만 매우 좁은 범위의 사람들에게만 해당됩니다.

프로세서에서 opencl도 작동합니다. 코드를 실행할 장치를 선택하기만 하면 됩니다. 비디오 카드 기술만을 위한 것은 아닙니다. 서버에서 문제가 vidyuhi에 있다는 것을 알고 있습니다.
 
Maxim Romanov :
프로세서에서 opencl도 작동합니다. 코드를 실행할 장치를 선택하기만 하면 됩니다. 비디오 카드 기술만을 위한 것은 아닙니다. 서버에서 vidyuhi에 문제가 있다는 것을 알고 있습니다.

그러나 나는 opencl이 프로세서에서도 작동한다는 것을 몰랐습니다. Opencl에 대해 읽기 위해 Renat의 기사를 읽을 수 없는 것은 아닙니다.
여기에서도 opencl에 대한 게시물이 빠져나갔지만 모든 프로그래머를 opencl에 넣을 수는 없습니다. 일반 작업 메서드는 어떻게든 더 유용해 보입니다.)
opencl이 모든 프로세서에서 작동하는 것으로 나타났습니까? 아니면 모델에 따라 달라지나요?

 
Roman :

그러나 나는 opencl이 프로세서에서도 작동한다는 것을 몰랐습니다. Opencl에 대해 읽기 위해 Renat의 기사를 읽을 수 없는 것은 아닙니다.
여기에서도 opencl에 대한 게시물이 빠져나갔지만 모든 프로그래머를 opencl에 넣을 수는 없습니다. 일반 작업 메서드는 어떻게든 더 유용해 보입니다.)
opencl이 모든 프로세서에서 작동하는 것으로 나타났습니까? 아니면 모델에 따라 달라지나요?

예, Intel 및 AMD에서 작동해야 합니다. 드라이버를 설치하기만 하면 됩니다. 나는 그것을 AMD에서 시도했고 작동했습니다.
 
Maxim Romanov :
예, Intel 및 AMD에서 작동해야 합니다. 드라이버를 설치하기만 하면 됩니다. 나는 그것을 AMD에서 시도했고 작동했습니다.

모두 동일하게 밝혀졌으며 프로세서 모델이나 드라이버에 어느 정도 의존성이 있습니다.
이것은 예를 들어 자신의 작업을 배포(판매)하는 사람과 같은 모든 사람에게 적합하지 않을 수 있습니다.
여기에 프로그램의 이식성에 대해 걱정하는 사람들이 있습니다. 제 생각에는 이것이 또한 중요한 매개변수입니다.

그리고 opencl은 사용자 정의 dll과 함께 작동할 수 있습니까?
저것들. dll에서 내보낸 함수 를 비동기적으로 호출하시겠습니까?
작업 작업을 위한 일반 클래스가 있었고 dll에서 비동기식으로 함수를 호출할 수도 있습니다.
즉, 일반 기능이 훨씬 더 유용하고 코드를 작성할 때 더 쉽게 액세스할 수 있습니다.

 

운송 부서장으로부터 소식을 듣지 못한 것은 유감입니다. 다중 스레드를 구현하려는 특정 작업은 무엇입니까? 문제에 대해 제안된 솔루션의 간단한 블록 다이어그램을 그립니다.

원래 의도하지 않은 작업을 MCL에 밀어 넣으려고 완고하게 노력하고 있습니다. 단어에서 전혀. 이미 만들어진 솔루션이 있습니다. 거의 모든 PL에 대한 API가 있는 ZeroMQ 를 살펴보세요. 또한 친절한 Ding Li 는 많은 예제와 함께 MQL4/5와 함께 ZeroMQ를 사용하기 위한 라이브러리를 개발했습니다. 코드의 실제 예와 함께 이 주제 에 대한 포럼의 주제를 읽으십시오.

박격포에 물을 부수는 당신 (주제 스타터)은 무엇입니까? 아니면 당신도 시장에 묶여 있습니까?

행운을 빕니다

Interesting Whitepapers - zeromq
  • zeromq.org
Unlike other (centralised) messaging systems which are based on the well-understood theoretical foundation, there are almost no resources regarding distributed messaging in general and ØMQ in particular that an interested reader can be pointed to. The goal of this paper is to explain the elementary concepts of ØMQ architecture, how they fit...
 
Roman :

그리고 opencl은 사용자 정의 dll과 함께 작동할 수 있습니까?
저것들. dll에서 내보낸 함수 를 비동기적으로 호출하시겠습니까?
작업 작업을 위한 일반 클래스가 있었고 dll에서 비동기식으로 함수를 호출할 수도 있습니다.
즉, 일반 기능이 훨씬 더 유용하고 코드를 작성할 때 더 쉽게 액세스할 수 있습니다.

DLL 함수를 호출합니다. DLL에 스레드를 만들고 데이터를 전달하고 스레드 연결을 끊고 잊어버리면 저절로 작업이 완료됩니다. DLL의 스레드가 분리되면 터미널 스레드가 해제됩니다. 전체 프로세스는 밀리초 미만이 소요됩니다. 쓰레드 연결을 끊지 않아도 데이터베이스에 쓰는 과정이 4~5ms라는 사실로 판단한다. 글쎄, 60 ticks/min은 터미널에서 비동기 호출에 대해 슬퍼하지 않기에 충분합니다.

 
Vladimir Perervenko :

운송 부서장으로부터 소식을 듣지 못한 것은 유감입니다. 다중 스레드를 구현하려는 특정 작업은 무엇입니까? 문제에 대해 제안된 솔루션의 간단한 블록 다이어그램을 그립니다.

원래 의도하지 않은 작업을 MCL에 밀어 넣으려고 완고하게 노력하고 있습니다. 단어에서 전혀. 이미 만들어진 솔루션이 있습니다. 거의 모든 PL에 대한 API가 있는 ZeroMQ 를 살펴보세요. 또한 친절한 Ding Li 는 많은 예제와 함께 MQL4/5와 함께 ZeroMQ를 사용하기 위한 라이브러리를 개발했습니다. 코드의 실제 예와 함께 이 주제 에 대한 포럼의 주제를 읽으십시오.

박격포에 물을 부수는 당신 (주제 스타터)은 무엇입니까? 아니면 당신도 시장에 묶여 있습니까?

행운을 빕니다

타사 솔루션을 사용하지 않으려고 합니다.
내 네트워크 작업을 위해 이미 솔루션을 찾았습니다. 그것을 연구하고 적용하고 두뇌를 사용하지 않는 것이 남아 있습니다.
그러나 비차단 호출과 비동기도 필요한 프로그래머가 있습니다.
그래서 정기적인 언어 전달에 기능을 도입하자고 제안했습니다. 그리고 이것은 개발자의 재량, 주요 아이디어이며 건전합니다.
터미널이 EventLoop를 구현하도록 설계되지 않은 이유는 무엇이라고 생각하십니까? 특히 단어에서 완전히 ...
로컬 에이전트가 실행 중인 알고리즘은 무엇입니까? 아마도 스레드 풀에 있습니까? 누가 관리하고 작업을 분배합니까?
비슷한 알고리즘이 이미 터미널에 있는데 이를 사용하여 기능을 확장하지 않겠습니까?
프로그래머에게 코드 작성의 비동기 모드를 제공하십시오.
나는 아무도 비동기가 필요하지 않다면 무엇을 말할 수 있습니까? 많은 사람들이 한 스레드에 갇혀 있다는 것을 유감스럽게 생각합니다.


 
Yuriy Asaulenko :

DLL 함수를 호출합니다. DLL에 스레드를 만들고 데이터를 전달하고 스레드 연결을 끊고 잊어버리면 저절로 작업이 완료됩니다. DLL의 스레드가 분리되면 터미널 스레드가 해제됩니다. 전체 프로세스는 밀리초 미만이 소요됩니다. 쓰레드 연결을 끊지 않아도 데이터베이스에 쓰는 과정이 4~5ms라는 사실로 판단한다. 글쎄, 60 ticks/s는 터미널의 비동기 호출에 대해 슬퍼하지 않기에 충분합니다.

여기 다른 아이디어 덕분에 로컬 기사에 따라 dll을 작성할 수 있지만 불행히도 진입점, 초기화, 메모리 할당 , 스레드 생성 등의 절차에 대해서는 설명하지 않습니다.
이 주제에 대한 문헌을 아무리 검색해도 진입점을 올바르게 사용하는 방법을 찾을 수 없습니다. 이에 대한 정보가 있으면 알려주십시오.
아니면 가르칠 수 있다면 기꺼이 지식을 받아들이겠습니다.
나는 프로그래머가 되기 위해 공부한 것이 아니라 모든 것을 스스로 공부하므로 지루하게 차지 마십시오))

 
Maxim Romanov :
opencl이 적합하지 않은 이유를 설명해 주십시오. 터미널에서는 opencl 코드를 작성하는 기능이 구현되어 있으며 이것이 멀티스레딩입니다. 나는 그들이 여기에 쓰는 다중 스레드와 이 칩의 차이점이 무엇인지 스스로 이해하고 싶습니다.
글쎄, 또는 누가 알면 내가 이해할 수 있도록 설명하십시오.
솔직히 말해서, opencl은 주의 깊게 연구되지 않았습니다. 나는이 결정에 대한 일종의 의존성을 포착하고 관심을 멈췄습니다. 나는 당신이 한 곳에서 다른 곳으로 전선을 당기고 코딱지에 무언가를 조여야한다고 생각했습니다. 아마도 절대적으로 틀릴 수 있지만 여기에서 opencl을 사용하는 실무자를 만난 적이 없으며 내 편견을 깨뜨릴 사람도 없었습니다. 아마도 나중에 서로를 더 잘 알게 되면 관점을 바꾸거나 그 반대의 경우도 마찬가지일 것입니다. 어쨌든 프로그램 이식성은 나에게 매우 중요하기 때문에 외부 의존성은 성가시다.