1

openCV의 node.js 구현으로 멀티 스레드 가능 호스트 및/또는 Nvidida GPU를 사용할 수 있습니까?node-opencv npm - 노드가 단일 스레드인데도 다중 스레드 계산을 수행합니까?

저는 노드 JS를 처음 사용하며 openCV 바인딩이 있음을 알았습니다.

나는 uni 프로젝트를 위해 openCV를 약간 수행했으며 이미지 처리를 위해 node.js를 사용하고자했습니다.

노드가 단일 스레드이며 openCV가 특히 Nvidia GPU 인 경우 멀티 코어를 사용한다고 생각합니까?

답변

2

JavaScript는 단일 스레드이며, nodejs는 그렇지 않습니다. OpenCV C++ 라이브러리에 대한 nodej 바인딩이 있습니다. 기본적으로 OpenCV의 모든 성능 이점을 얻으므로 Javascript API와 함께 사용하면됩니다.

바인딩이 AsyncWorkers를 통해 비동기 메소드를 제공하면 멀티 스레딩이 발생합니다. 내 npm 패키지 opencv4nodejs을 제공하면 비동기 API를 제공하기 때문에 약속을 통해 멀티 스레드를 매우 간단하게 만들 수 있습니다.

GPU 가속화를 위해 OpenCV는 별도의 API로 다른 모듈을 가지고 있습니다. 이 API를 nodej와 함께 사용하려는 경우에는 바인딩을 제공해야합니다.

+0

GPU 가속화에는 다른 모듈이 필요합니까? 미안, 난 초보자 야. 어떻게하면 일반적으로 그렇게 할 수 있습니까? 좋은 링크? ... 어떻게 GPU 버전에 대한 바인딩이 없습니까? – fractal

+0

예, 예를 들어 cuda 모듈 (https://docs.opencv.org/3.2.0/)을 참조하십시오. 내가 (아직) 그들을 추가하지 않았기 때문에 그것에 대한 바인딩이 없습니다. 그리고 opencv cuda에 익숙하지 않습니다. – justadudewhohacks