I'm trying to make use of MAGMA 1.3.0. I managed to create a static library and get a few of the tests working. When I attempted to create a shared object, I encountered significantly more issues.
Eventually, I managed to get things working, but I needed to apply the following fixes. Is there any way to get more robust support for creating a shared library in the next release?
Should be CC = gcc (without -shared)
NVOPTS should have -Xcompiler -fPIC
2. multiple definition of magmaSetDevice
Update *getrf2_mgpu.cpp to: static void magmaSetDevice
3. Makefile issues
Remove zhegvd_m.cpp from src/Makefile
Remove chegvd_m.cpp from src/Makefile.src
4. Multiple declarations of fillZero causes issues when creating shared lib
But fillZero is unused, so commented out code.
5. make lib does not work for shared libraries (libmagma.so is written multiple
times) - Fix is to manually create the shared object after compilation (but, before make test).
I'm currently running cuda-4.2.9-rhel5.