Date: Tue, 14 Jan 2020 17:09:35 +0200 From: "Zeus Panchenko" <zeus@ibs.dn.ua> To: <freebsd-x11@freebsd.org> Subject: amdgpu: amdgpu_device_initialize failed. Message-ID: <20200114170935.85780@relay.xx>
next in thread | raw e-mail | index | archive | help
greetings, any tool with opencl support doesn't work for me, please advise ---[ quotation start ]------------------------------------------- amdgpu_device_initialize: AMDGPU_INFO_ACCEL_WORKING = 0 amdgpu: amdgpu_device_initialize failed. do_winsys_init: DRM version is 3.23.0 but this driver is only compatible with 2.12.0 (kernel 3.2) or later. ---[ quotation end ]------------------------------------------- I see this with clinfo, darktable and test code (quoted at the end) here is what I have: > uname FreeBSD 12.1-RELEASE-p1 GENERIC > pkg info clover-18.3.2_5 drm-fbsd12.0-kmod-4.16.g20191120 drm-kmod-g20190710 gpu-firmware-kmod-g20191015 ocl-icd-2.2.12 opencl-2.2_1 ---[ clinfo quotation start ]------------------------------------------- amdgpu_device_initialize: AMDGPU_INFO_ACCEL_WORKING = 0 amdgpu: amdgpu_device_initialize failed. do_winsys_init: DRM version is 3.23.0 but this driver is only compatible with 2.12.0 (kernel 3.2) or later. Number of platforms 1 Platform Name Clover Platform Vendor Mesa Platform Version OpenCL 1.1 Mesa 18.3.2 Platform Profile FULL_PROFILE Platform Extensions cl_khr_icd Platform Extensions function suffix MESA Platform Name Clover Number of devices 0 NULL platform behavior clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) Clover clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Clover clCreateContext(NULL, ...) [default] No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No devices found in platform ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.2.12 ICD loader Profile OpenCL 2.2 NOTE: your OpenCL library declares to support OpenCL 2.2, but it seems to support up to OpenCL 2.1 only. ---[ clinfo quotation end ]------------------------------------------- ---[ `pciconf -lv` quotation start ]------------------------------------------- vgapci0@pci0:2:0:0: class=0x030000 card=0x22fe1458 chip=0x699f1002 rev=0xc7 hdr=0x00 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]' class = display subclass = VGA hdac0@pci0:2:0:1: class=0x040300 card=0xaae01458 chip=0xaae01002 rev=0x00 hdr=0x00 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]' class = multimedia subclass = HDA ---[ `pciconf -lv` quotation end ]------------------------------------------- ---[ kldstat quotation start ]------------------------------------------- 16 1 0xffffffff82c21000 253e84 amdgpu.ko 17 2 0xffffffff82e75000 769f0 drm.ko 18 5 0xffffffff82eec000 10eb0 linuxkpi.ko 19 4 0xffffffff82efd000 12f30 linuxkpi_gplv2.ko 22 1 0xffffffff82f21000 80db amdgpu_polaris12_mc_bin.ko 23 1 0xffffffff82f2a000 4421 amdgpu_polaris12_pfp_2_bin.ko 24 1 0xffffffff82f2f000 441f amdgpu_polaris12_me_2_bin.ko 25 1 0xffffffff82f34000 241f amdgpu_polaris12_ce_2_bin.ko 26 1 0xffffffff82f37000 429d amdgpu_polaris12_rlc_bin.ko 27 1 0xffffffff82f3c000 40431 amdgpu_polaris12_mec_2_bin.ko 28 1 0xffffffff82f7d000 40433 amdgpu_polaris12_mec2_2_bin.ko 29 1 0xffffffff82fbe000 331f amdgpu_polaris12_sdma_bin.ko 30 1 0xffffffff82fc2000 3321 amdgpu_polaris12_sdma1_bin.ko 31 1 0xffffffff82fc6000 5bbfd amdgpu_polaris12_uvd_bin.ko 32 1 0xffffffff83022000 28d1d amdgpu_polaris12_vce_bin.ko 33 1 0xffffffff8304b000 1fedd amdgpu_polaris12_smc_bin.ko ---[ kldstat quotation end ]------------------------------------------- ---[ dmesg quotation start ]------------------------------------------- [drm] amdgpu kernel modesetting enabled. drmn0: <drmn> on vgapci0 vgapci0: child drmn0 requested pci_enable_io vgapci0: child drmn0 requested pci_enable_io [drm] initializing kernel modesetting (POLARIS12 0x1002:0x699F 0x1458:0x22FE 0xC7). [drm] register mmio base: 0xFBB80000 [drm] register mmio size: 262144 [drm] PCI I/O BAR is not found. [drm] probing gen 2 caps for device 8086:340a = 3b3d02/0 [drm] probing mlw for device 1002:699f = 400883 [drm] UVD is enabled in VM mode [drm] UVD ENC is enabled in VM mode [drm] VCE enabled in VM mode ATOM BIOS: xxx-xxx-xxx [drm] vm size is 64 GB, 2 levels, block size is 10-bit, fragment size is 9-bit drmn0: successfully loaded firmware image with name: amdgpu/polaris12_mc.bin drmn0: VRAM: 2048M 0x000000F400000000 - 0x000000F47FFFFFFF (2048M used) drmn0: GTT: 256M 0x0000000000000000 - 0x000000000FFFFFFF Failed to add WC MTRR for [0xd0000000-0xdfffffff]: -22; performance may suffer [drm] Detected VRAM RAM=2048M, BAR=256M [drm] RAM width 128bits GDDR5 [TTM] Zone kernel: Available graphics memory: 12556822 kiB [TTM] Zone dma32: Available graphics memory: 2097152 kiB [TTM] Initializing pool allocator [drm] amdgpu: 2048M of VRAM memory ready [drm] amdgpu: 3072M of GTT memory ready. i_size_write unimplemented [drm] GART: num cpu pages 65536, num gpu pages 65536 [drm] PCIE GART of 256M enabled (table at 0x000000F400040000). [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] Driver supports precise vblank timestamp query. [drm] Connector DP-1: get mode from tunables: [drm] - kern.vt.fb.modes.DP-1 [drm] - kern.vt.fb.default_mode [drm] Connector HDMI-A-1: get mode from tunables: [drm] - kern.vt.fb.modes.HDMI-A-1 [drm] - kern.vt.fb.default_mode [drm] Connector DVI-D-1: get mode from tunables: [drm] - kern.vt.fb.modes.DVI-D-1 [drm] - kern.vt.fb.default_mode [drm] AMDGPU Display Connectors [drm] Connector 0: [drm] DP-1 [drm] HPD5 [drm] DDC: 0x4868 0x4868 0x4869 0x4869 0x486a 0x486a 0x486b 0x486b [drm] Encoders: [drm] DFP1: INTERNAL_UNIPHY1 [drm] Connector 1: [drm] HDMI-A-1 [drm] HPD3 [drm] DDC: 0x4874 0x4874 0x4875 0x4875 0x4876 0x4876 0x4877 0x4877 [drm] Encoders: [drm] DFP2: INTERNAL_UNIPHY1 [drm] Connector 2: [drm] DVI-D-1 [drm] HPD4 [drm] DDC: 0x4878 0x4878 0x4879 0x4879 0x487a 0x487a 0x487b 0x487b [drm] Encoders: [drm] DFP3: INTERNAL_UNIPHY drmn0: successfully loaded firmware image with name: amdgpu/polaris12_pfp_2.bin drmn0: successfully loaded firmware image with name: amdgpu/polaris12_me_2.bin drmn0: successfully loaded firmware image with name: amdgpu/polaris12_ce_2.bin [drm] Chained IB support enabled! drmn0: successfully loaded firmware image with name: amdgpu/polaris12_rlc.bin drmn0: successfully loaded firmware image with name: amdgpu/polaris12_mec_2.bin drmn0: successfully loaded firmware image with name: amdgpu/polaris12_mec2_2.bin i_size_write unimplemented i_size_write unimplemented i_size_write unimplemented i_size_write unimplemented i_size_write unimplemented i_size_write unimplemented i_size_write unimplemented i_size_write unimplemented i_size_write unimplemented i_size_write unimplemented drmn0: successfully loaded firmware image with name: amdgpu/polaris12_sdma.bin drmn0: successfully loaded firmware image with name: amdgpu/polaris12_sdma1.bin i_size_write unimplemented i_size_write unimplemented drmn0: successfully loaded firmware image with name: amdgpu/polaris12_uvd.bin [drm] Found UVD firmware Version: 1.130 Family ID: 16 i_size_write unimplemented i_size_write unimplemented i_size_write unimplemented drmn0: successfully loaded firmware image with name: amdgpu/polaris12_vce.bin [drm] Found VCE firmware Version: 53.26 Binary ID: 3 i_size_write unimplemented i_size_write unimplemented i_size_write unimplemented drmn0: successfully loaded firmware image with name: amdgpu/polaris12_smc.bin [drm] UVD and UVD ENC initialized successfully. [drm] VCE initialized successfully. [drm] fb mappable at 0xD0568000 [drm] vram apper at 0xD0000000 [drm] size 8294400 [drm] fb depth is 24 [drm] pitch is 7680 VT: Replacing driver "vga" with new "fb". start FB_INFO: type=11 height=1080 width=1920 depth=32 cmsize=16 size=8294400 pbase=0xd0568000 vbase=0xfffff800d0568000 name=drmn0 flags=0x0 stride=7680 bpp=32 cmap[0]=0 cmap[1]=7f0000 cmap[2]=7f00 cmap[3]=c4a000 end FB_INFO drmn0: fb0: amdgpudrmfb frame buffer device i_size_write unimplemented [drm] Initialized amdgpu 3.23.0 20150101 for drmn0 on minor 0 ---[ dmesg quotation end ]------------------------------------------- test code built with: g++ -ggdb -I/usr/local/include -o cl-hello-world.o cl-hello-world.c -lOpenCL debug follows ---[ cl-hello-world.c quotation start ]------------------------------------------- // -*- mode: c; mode: follow -*- // stolen from https://subscription.packtpub.com/book/application_development/9781849692342/1/ch01lvl1sec12/an-example-of-opencl-program #include <stdio.h> #include <stdlib.h> #ifdef __APPLE__ #include <OpenCL/cl.h> #else #include <CL/cl.h> #endif #define VECTOR_SIZE 1024 //OpenCL kernel which is run for every work item created. const char *saxpy_kernel = "__kernel \n" "void saxpy_kernel(float alpha, \n" " __global float *A, \n" " __global float *B, \n" " __global float *C) \n" "{ \n" " //Get the index of the work-item \n" " int index = get_global_id(0); \n" " C[index] = alpha* A[index] + B[index]; \n" "} \n"; int main(void) { int i; printf("\n\nHELLO CL WORLD!\n\n"); // Allocate space for vectors A, B and C float alpha = 2.0; float *A = (float*)malloc(sizeof(float)*VECTOR_SIZE); float *B = (float*)malloc(sizeof(float)*VECTOR_SIZE); float *C = (float*)malloc(sizeof(float)*VECTOR_SIZE); for(i = 0; i < VECTOR_SIZE; i++) { A[i] = i; B[i] = VECTOR_SIZE - i; C[i] = 0; } // Get platform and device information cl_platform_id * platforms = NULL; cl_uint num_platforms; //Set up the Platform cl_int clStatus = clGetPlatformIDs(0, NULL, &num_platforms); platforms = (cl_platform_id *) malloc(sizeof(cl_platform_id)*num_platforms); clStatus = clGetPlatformIDs(num_platforms, platforms, NULL); //Get the devices list and choose the device you want to run on cl_device_id *device_list = NULL; cl_uint num_devices; clStatus = clGetDeviceIDs( platforms[0], CL_DEVICE_TYPE_GPU, 0,NULL, &num_devices); device_list = (cl_device_id *) malloc(sizeof(cl_device_id)*num_devices); clStatus = clGetDeviceIDs( platforms[0],CL_DEVICE_TYPE_GPU, num_devices, device_list, NULL); // Create one OpenCL context for each device in the platform cl_context context; context = clCreateContext( NULL, num_devices, device_list, NULL, NULL, &clStatus); // Create a command queue cl_command_queue command_queue = clCreateCommandQueue(context, device_list[0], 0, &clStatus); // Create memory buffers on the device for each vector cl_mem A_clmem = clCreateBuffer(context, CL_MEM_READ_ONLY,VECTOR_SIZE * sizeof(float), NULL, &clStatus); cl_mem B_clmem = clCreateBuffer(context, CL_MEM_READ_ONLY,VECTOR_SIZE * sizeof(float), NULL, &clStatus); cl_mem C_clmem = clCreateBuffer(context, CL_MEM_WRITE_ONLY,VECTOR_SIZE * sizeof(float), NULL, &clStatus); // Copy the Buffer A and B to the device clStatus = clEnqueueWriteBuffer(command_queue, A_clmem, CL_TRUE, 0, VECTOR_SIZE * sizeof(float), A, 0, NULL, NULL); clStatus = clEnqueueWriteBuffer(command_queue, B_clmem, CL_TRUE, 0, VECTOR_SIZE * sizeof(float), B, 0, NULL, NULL); return 0; } ---[ cl-hello-world.c quotation end ]------------------------------------------- ---[ gdb bt full quotation start ]------------------------------------------- Reading symbols from cl-hello-world.o... [New LWP 102222] Core was generated by `./cl-hello-world.o'. Program terminated with signal SIGBUS, Bus error. #0 0x0000000800651d5e in clCreateContext (properties=0x0, num_devices=8, devices=0x807364280, pfn_notify=0x0, user_data=0x0, errcode_ret=0x7fffffffe850) at ocl_icd_loader.c:929 929 RETURN(((struct _cl_device_id *)devices[0]) (gdb) bt full #0 0x0000000800651d5e in clCreateContext (properties=0x0, num_devices=8, devices=0x807364280, pfn_notify=0x0, user_data=0x0, errcode_ret=0x7fffffffe850) at ocl_icd_loader.c:929 ret = 0x0 i = 0 #1 0x0000000000400c20 in main () at cl-hello-world.c:63 i = 1024 alpha = 2 A = 0x800646000 B = 0x800647000 C = 0x800f31000 platforms = 0x80063a088 num_platforms = 1 clStatus = -1 device_list = 0x807364280 num_devices = 8 context = 0x800c46e02 <atexit+50> command_queue = 0x7fffffffe8b0 A_clmem = 0x0 B_clmem = 0x7fffffffe928 C_clmem = 0x0 (gdb) ---[ gdb bt full quotation end ]------------------------------------------- -- Zeus V. Panchenko jid:zeus@im.ibs.dn.ua IT Dpt., I.B.S. LLC GMT+2 (EET)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200114170935.85780>