shinpei0208 / gdev

First-Class GPU Resource Management: Device Drivers, Runtimes, and CUDA Compilers for Nouveau.
http://www.pdsl.jp/
MIT License
350 stars 70 forks source link

Issues porting gdev to ARM #33

Open Evil-Lyn7 opened 8 years ago

Evil-Lyn7 commented 8 years ago

Hello,

I am trying to run gdev on a Jetson TK1 (32Bit ARMv7 CPU), but getting error messages. Building gdev succeeds, but running test applications fails. It seems like gdev is not suitable for ARM machines out of the box. But I am not sure if I have to adjust some configurations or some lines of source code. In any case I am willing to do both, but I need some clues where to start.

My current setup is a NVidia Jetson TK1 with Linux for Tegra R21.4 (ubuntu-like) with the latest nouveau git driver and the latest git kernel. The Jetson comes with a NVidia Kepler "GK20a" GPU.

However, running the test application in "$TOPDIR/gdev/test/cuda/user/madd" yields

./user_test 256 block = (16, 16) grid = (16, 16) [gdev] Failed to create a context object cuCtxCreate failed: res = 999 Test failed

Debugging the application leads me to an error in libdrm_nouveau.so.2. http://sourcecodebrowser.com/libdrm/2.4.15/nouveau__bo_8c.html#a3d7d749eb4a6f0f1e3d7d3e48ff96b4d The GDB backtrace is as follows:

0 0xb6ead73c in nouveau_bo_new () from

/usr/lib/arm-linux-gnueabihf/libdrm_nouveau.so.2

1 0xb6fd3d22 in gdev_raw_ctx_new (gdev=0x13030, vas=0x158d0) at

/home/ubuntu/gdev/gdev/lib/user/nouveau/nouveau_gdev.c:473

2 0xb6fcda0a in gdev_ctx_new (gdev=0x13030, vas=0x158d0) at

/home/ubuntu/gdev/gdev/common/gdev_nvidia.c:104

3 0xb6fcc7ba in gopen (minor=0) at

/home/ubuntu/gdev/gdev/common/gdev_api.c:630

4 0x00008a70 in gdev_test_matrixadd (a=0xb6e6b008, b=0xb6e2a008,

c=0xb6de9008, n=256) at matrixadd.c:154

5 0x0000890a in main (argc=2, argv=0xbefff6a4) at main.c:23

Anything helps!

ercui commented 7 years ago

Do you have success to run the Gdev on the ARM?