TNTwise / rife-ncnn-vulkan

RIFE, Real-Time Intermediate Flow Estimation for Video Frame Interpolation implemented with ncnn library
MIT License
34 stars 4 forks source link

Segfault in CPU mode (`-g -1`), not happen in nihui's repo #4

Closed knyipab closed 5 months ago

knyipab commented 5 months ago

Grateful for your help. On (my) Android device, CPU typically runs rife-ncnn-vulkan faster than GPU, so it's meaningful to fix the bug.

I tested with this command

rife-ncnn-vulkan -0 0.png -1 1.png -o output-cpu.png -m rife-v4.6 -g -1 -v

If you are happy to run try on your Android phone (or emulator), you can install the Termux package builds from my actions:

TNTwise/rife-ncnn-vulkan

Failed, log:

[0 Adreno (TM) 740]  queueC=0[3]  queueG=0[3]  queueT=0[3]
[0 Adreno (TM) 740]  bugsbn1=1  bugbilz=0  bugcopc=0  bugihfa=0
[0 Adreno (TM) 740]  fp16-p/s/u/a=1/1/0/1  int8-p/s/u/a=1/1/0/1
[0 Adreno (TM) 740]  subgroup=64  basic/vote/ballot/shuffle=1/1/1/1
[0 Adreno (TM) 740]  fp16-8x8x16/16x8x8/16x8x16/16x16x16=0/0/0/0
Segmentation fault

nihui/rife-ncnn-vulkan

Succeeded, log:

[0 Adreno (TM) 740]  queueC=0[3]  queueG=0[3]  queueT=0[3]
[0 Adreno (TM) 740]  bugsbn1=1  bugbilz=0  bugcopc=0  bugihfa=0
[0 Adreno (TM) 740]  fp16-p/s/a=1/1/1  int8-p/s/a=1/1/1
[0 Adreno (TM) 740]  subgroup=64  basic=1  vote=1  ballot=1  shuffle=1
0.png 1.png 0.500000 -> output-cpu.png done
TNTwise commented 5 months ago

This is most likely ncnn version, you would have to change out the submodule for something closer to the original rife ncnn repo.

TNTwise commented 5 months ago

I will swap submodules and see if cpu works on linux.

TNTwise commented 5 months ago

I tested and it is working with CPU, closing. Please say if this does not fix it for you.