더 구체적으로 말하자면 실제로 CPU 대신 내 컴퓨터의 GPU에서 실행되는 Android 에뮬레이터에서 OpenCL/Renderscript 코드를 실행하고 싶습니다. 불행히도 저는 AMD CPU와 GPU를 사용하고 있습니다.GPGPU 안드로이드 에뮬레이터 (Renderscript/OpenCL)
나는 AMD가 OpenGL ES를 지원한다는 것을 알고 있으며 (모든 것이 OpenCL을 꽤 많이 지원한다) SDK를 통해 알았지 만, 그 점에 관해서는 - 에뮬레이터에 관해서 찾은 유일한 OpenCL/Renderscript 정보는 어느 쪽도 전혀 작동하지 않거나 Intel CPU를 가지고 있다면 에뮬레이터에 OpenCL을 설치할 수 있지만 CPU 만 사용하게됩니다. 솔직하게 말해서 에뮬레이터가 작동하지 않으면 놀라지 않을 것입니다. 이미이 일을하고 있습니다 - OpenCV는 문제없이 실행되지만 OpenCL-Z는 OpenCL 지원이 없다고 말합니다.)
에뮬레이터에서 내 OS로 명령을 보내고 자동으로 실행하는 방법이 있습니까? 내가 에뮬레이터 인스턴스 2 개를 실행 중일 때 주어진 텍스트 파일을 저장하고 로딩하는 것이 유일한 방법이다.
공식 에뮬레이터에서 지원되는 RenderScript에 대한 언급이 있지만 에뮬레이터는 내 사용 사례가 아니며 내 GPU를 사용하게 될지는 크게 의심됩니다.
Bluestacks 3이 2 개의 인스턴스를 실행할 때 더 많은 리소스를 사용하고 2 번째 인스턴스가 어떤 이유에서든지 adb 명령/root와 잘 작동하지 않기 때문에 지금은 Memu를 사용하고 있습니다. 작동하지만 작동하지 않는다고 생각합니다. 뭐든지해라. 더 빠른 에뮬레이터를 사용하면 2 개의 인스턴스를 실행할 때 도움이 될 것이라고 확신하지만 이상하게도 그들을 비교하는 것은 어렵고 시간이 오래 걸립니다 (특히 각자가 "아니오, 나는 가장 빠릅니다. 막대 그래프! ") 그리고 궁극적으로 내 문제는 OpenCV가 GPU 가속을 얻지 못하는 것 (내 전화에서 훨씬 빨리 실행되기 때문에)과 에뮬레이터의 기본 속도가 아니라고 생각합니다.
AMD의 가상화 기능이 활성화되어 있습니다 (Leomoon 또는 w/e로 확인 됨). Memu의 관리자에서 활성화되어 있습니다. 아마 이것은 이미 장면의 뒤에서 일하고 있습니까? 어느 쪽이든, OpenCV가 사용되면 인스턴스 당 에뮬레이션 비용은 10 % 증가합니다 (60에서 80 % +로 변경).