cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

jski
Journeyman III

CPU emulation

CPU emulation

When I run Brook+ on a 32-bit Athlon box with no GPU support (no Radeon 3870, just an older NVidai card), I get:

Xlib:  extension "XFree86-DRI" missing on display ":0.0".
Xlib:  extension "XFree86-DRI" missing on display ":0.0".
Segment fault

BRT_RUNTIMEtion is underfined.

Shouldn't the "CPU backend which allows you to run completely on the CPU for easier debugging" (Michael Chu) work?

---jski

BTW, the readme_install.txt for the 32-bit install appears to be a copy of the readme_install.txt for 64-bit install.  That should be changed.

 

Tags (2)
0 Likes
3 Replies
Ceq
Journeyman III

CPU emulation

You said BRT_RUNTIME was undefined, to enable software mode just set the environment variable BRT_RUNTIME = CPU
However as far as I know, debugging kernels isn't easier to debug in this mode, they are much like a black box.
0 Likes
jski
Journeyman III

CPU emulation

Thanks, "BRT_RUNTIME = CPU" did the job!

But that raises a few questions:

  • What are the differences between running in native mode vs. CPU-emulation mode (besides performance)?
  • Is CPU emulation actually better for development/debugging?
  • What are its limitations?

---jski

0 Likes
Ceq
Journeyman III

CPU emulation

Well, software mode is useful if you don't have the right GPU to run Brook+, so you can develop and test software without owning the hardware (in this aspect this it is better than nVidia's CUDA).
I think it is also supposed to be the 'reference rendering': there are a few cases where the results on GPU may differ because Brook+ is still under development, however they will be eventually fixed.
Other than speed there aren't any limitations, debugging kernels could become quite difficult in both, I think there isn't any specific tool for debugging running GPU code.
0 Likes