I have solved some multiple definitions by deleting the "My" before functions and some other by add "extern".
(e.g. : extern int event_num [MAX_THREADS] __attribute__ ((aligned (128))); in dgeqrf_mgpu-trace.cpp file)
For the problem :
libmagmablas.so: undefined symbol: magma_stream
In fact, this symbol should be in libmagma.so but libmagma.so is created in control directory and src directory.
When we create a static lib (.a), we can add symbols inside but not with a dynamic lib (.so).
In my case, libmagma.so créated in control directory was replaced by the same libmagma.so builded in src directory.
I have succeeded to set in the same dynamic library all symbols of control, src and magmablas directory.
But I can't load my lib because of undefined symbol: magmablas_dtrsm
This function is declared in include/magmablas_d.h, used in some #define cublasDtrsm magmablas_dtrsm but never defined.
These "#define cublas... magmablas... " are essential ?
Can I remove this and use the real cublas functions ?
Thanks for your reply.