airockchip / rknn-toolkit2

BSD 3-Clause "New" or "Revised" License
585 stars 69 forks source link

自定义GPU算子测试时RKNN内部报错 (layout convert failed) #15

Open happyme531 opened 4 months ago

happyme531 commented 4 months ago

原issue: https://github.com/rockchip-linux/rknn-toolkit2/issues/301

更新到2.0.0b0后报错内容发生变化:

firefly@zt-firefly ~/r/n/2.0.0b0 [SIGINT]> sudo cp ./librknnrt.so /usr/lib/;sudo ./rknn_server
start rknn server, version:2.0.0b0 (18eacd0 build@2024-03-22T14:07:19)
I NPUTransfer: Starting NPU Transfer Server, Transfer version 2.1.0 (b5861e7@2020-11-23T11:50:51)
arm_release_ver: g13p0-01eac0, rk_so_ver: 6
E RKNN: [19:25:37.399] OpenCL error with code CL_BUILD_PROGRAM_FAILURE. 
E RKNN: [19:25:37.399] Program build error: <source>:47:10: error: use of undeclared identifier 'To8'
E RKNN: [19:25:37.399] vstore8((To8)(val[0].x, val[1].x, val[2].x, val[3].x, val[4].x, val[5].x, val[6].x, val[7].x), out_off,
E RKNN: [19:25:37.399]          ^
E RKNN: [19:25:37.399] <source>:50:10: error: use of undeclared identifier 'To8'
E RKNN: [19:25:37.399] vstore8((To8)(val[0].y, val[1].y, val[2].y, val[3].y, val[4].y, val[5].y, val[6].y, val[7].y), out_off + out_str,
E RKNN: [19:25:37.399]          ^
E RKNN: [19:25:37.399] <source>:54:10: error: use of undeclared identifier 'To8'
E RKNN: [19:25:37.399] vstore8((To8)(val[0].z, val[1].z, val[2].z, val[3].z, val[4].z, val[5].z, val[6].z, val[7].z),
E RKNN: [19:25:37.399]          ^
E RKNN: [19:25:37.399] <source>:58:10: error: use of undeclared identifier 'To8'
E RKNN: [19:25:37.399] vstore8((To8)(val[0].w, val[1].w, val[2].w, val[3].w, val[4].w, val[5].w, val[6].w, val[7].w),
E RKNN: [19:25:37.399]          ^
E RKNN: [19:25:37.399] <source>:111:10: error: use of undeclared identifier 'To8'
E RKNN: [19:25:37.399] vstore8((To8)(val[0].x, val[1].x, val[2].x, val[3].x, val[4].x, val[5].x, val[6].x, val[7].x), out_off,
E RKNN: [19:25:37.399]          ^
E RKNN: [19:25:37.399] <source>:114:10: error: use of undeclared identifier 'To8'
E RKNN: [19:25:37.399] vstore8((To8)(val[0].y, val[1].y, val[2].y, val[3].y, val[4].y, val[5].y, val[6].y, val[7].y), out_off + out_str,
E RKNN: [19:25:37.399]          ^
E RKNN: [19:25:37.399] <source>:118:10: error: use of undeclared identifier 'To8'
E RKNN: [19:25:37.399] vstore8((To8)(val[0].z, val[1].z, val[2].z, val[3].z, val[4].z, val[5].z, val[6].z, val[7].z),
E RKNN: [19:25:37.399]          ^
E RKNN: [19:25:37.399] <source>:122:10: error: use of undeclared identifier 'To8'
E RKNN: [19:25:37.399] vstore8((To8)(val[0].w, val[1].w, val[2].w, val[3].w, val[4].w, val[5].w, val[6].w, val[7].w),
E RKNN: [19:25:37.399]          ^
E RKNN: [19:25:37.399] error: Compiler frontend failed (error code 63)
E RKNN: [19:25:37.399] OpenCL error with code CL_INVALID_PROGRAM_EXECUTABLE. 
E RKNN: [19:25:37.399] Add pack gpu op kernel failed, file_name = buffer/pack_nchw_to_nchwc8_buf.cl, kernel_name = pack_nchw_to_nchwc8, build_options =  -D Ti=float -D Ti4=float4 -D To=half -D To4=half4
E RKNN: [19:25:37.399] layout convert failed
E RKNN: [19:25:37.399] Op: 'cstInstanceNormalization_1_256_64_64:/model/model.8/InstanceNormalization' init failed with a return value of -1
E RKNN: [19:25:37.400] Op type: 'cstInstanceNormalization_1_256_64_64' register custom op failed for gpu device !
10132 SERVER init(207): rknn_register_custom_ops fail! ret = -1
10132 SERVER process_msg_init(379): Client 0 init model fail!

这次是pack_nchw_to_nchwc8_buf.cl报错了。希望能尽快修复。

Ocean-ZHY commented 1 month ago

我也遇到了同样的问题,请问一下解决了吗

happyme531 commented 1 month ago

2.0.0b14未修复