[GRASS-dev] Debugging, parallelism, etc.

Brad ReDacted brad.redacted at outlook.com
Sun Oct 9 09:37:46 PDT 2022


Hello,

I'm working on adding parallelism to modules, but debugging is turning 
out to be a logistical nightmare:

Why do I not get any reporting from GCC option '-fsanitize=address|thread"?

I am also having trouble getting the profiler to work properly inside 
GRASS (I assume due to shell?). The gmon.out file produced has no usable 
data.

OpenMP is extremely poorly supported by most tools. valgrind with 
helgrind reports a lot of nonsense. I can't seem to get the Intel linux 
tools to work properly, either.

BTW, we are supporting both pthreads and OpenMP. While this isn't an 
issue in most cases, there can be races and deadlocks if not handled 
properly. Pthreads aren't entirely portable. OpenMP is. However, 
pthreads gives us a more control. May I suggest using OpenMP for most 
modules and reserve Pthreads to libraries, etc? Or should we start 
moving away from pthreads?

Any suggestions would be greatly appreciated!


-- 
Best Regards,
-Brad



More information about the grass-dev mailing list