Nvidia의 Tesla K10.G2.8GB에서 우분투 16.04.3 64 비트, 의 pyopenCL을 통해 OpenCL 프로그래밍.헤더 포함 OpenCL (32 비트 대 64 비트)
OpenCL 커널에 헤더 파일을 포함하지 않는 한 지금까지 아무 것도 원활하게 실행됩니다. 내 헤더 파일의 상단에 #include <stdlib.h>
을 넣어 자마자, 내 인 OpenCL 커널 컴파일이 다른 파일들을 그 문제에 대한 검색
gnu/stubs-32.h
sys/cdefs.h
되는 사이에, 누락 실패
Error "gnu/stubs-32.h: No such file or directory" while compiling Nachos source code 같은 답변을 제공합니다
또는
https://askubuntu.com/questions/470796/fatal-error-sys-cdefs-h-no-such-file-or-directory
baiscally 제안 t o 기본 문제가 64 비트/32 비트 문제라고 가정하고 libc6-dev-i386
또는 gcc-multilib
및 g++-multilib
을 설치하십시오. 제 질문은 GPU 용 OpenCL 바이너리가 32 비트 바이너리로 컴파일 된 것입니다 (어떻게 확인할 수 있습니까?).
가 다른주의 사항이 있습니까, 내가 64 비트 OS에서 32 비트 바이너리를 컴파일 할 :
그렇다면 ?
추가 정보 : 커널을 32 비트로 컴파일 할 때 64 비트 부동 소수점을 사용할 수 있습니까? (예를 들어, #pragma OPENCL EXTENSION cl_khr_fp64 : enable
여전히 작동합니다?)
없는 경우 :
내가 수동/위치해야합니까 필요한 모든 헤더 파일을 복사하여 손으로 포함되어 있습니까?
또한 동료 중 일부는 OpenCL 커널에 표준 C 헤더를 포함시키는 것이 링커 누락으로 인해 가능하다는 것을 의심합니다. 그 위에 어떤 빛이라도 인정받습니다.
나는 잘 모르겠지만, 나는 OpenCL을 그냥 언어 https://www.khronos.org/files/opencl-1-2-quick-reference-card 것 같아요.pdf 및 관련 자료 : https://www.khronos.org/opencl/resources. PyOpenCL에 대한 나의 매우 제한된 지식에서 나는 커널에 #include _any_library_를 작성하거나 보지 못했다. – benshope
SO에서 'include header openCL'을 빨리 검색하면 OpenCL 커널 코드에 자신의 헤더를 포함시킨 사람들이 나타납니다. OpenCL C (기본적으로 C의 하위 집합)로 작성된 커널 코드에 대해 얘기하고 있습니다. – Dschoni
아, 그래요. 그냥 이걸 봤어 : https://stackoverflow.com/questions/14502925/include-headers-to-opencl-cl-file 나는 PyOpenCL에 대해 더 많이 알고있는 사람이 당신의 질문에 대답하도록 할 것이다. – benshope