Hello,
I am trying to use NONAFFINE_NETWORK_SOLVER_PLUGIN (https://github.com/RyanMahutga/Non-a...Network-Plugin) plugin on HPC (https://www.msi.umn.edu/content/hpc) which is a Linux system. As the plugin provided here is a DLL file, I had to recompile the source codes as a .so file to be used on HPC. I used the following two-line code to do it through the command line (the include folder is in the same directory as the course codes and I have copied the library files here for convenience)
''gcc -std=c++11 -Iinclude -fPIC -c calcForcesPeriodic.cpp calcJacobian2.cpp componentStress2.cpp dllmain.cpp FENetwork.cpp fiberConstEqn.cpp networkElasticity.cpp networkSolver.cpp overwriteResults.cpp stressCalc.cpp updateCrossing.cpp"
"gcc *.o libfebiofluid.a libfebiomech.a libfebiomix.a libfecore.a -o NONAFFINE_NETWORK_SOLVER_PLUGIN.so -shared -Wl,-soname,NONAFFINE_NETWORK_SOLVER_PLUGIN.so -lstdc++"
The .so file was created and I tried to solve a simple problem using the plugin, both my own system and the Linux HPC system. I got the same results on both systems, however, the time required on HPC was much higher, even after using parallelization ( 2min on my system (4 cores) vs 14 min with HPC (32 cores) (without parallelization the simulation takes forever on HPC)). Further, ensure that the issue lies with the plugin and not the HPC. I did a simple simulation without the plugin, which as expected is much faster on HPC (1.5 min on my system (8 cores) vs 1 min with HPC(8 cores).
I want the simulation on HPC using the plugin to be faster, which should also be the case and is happening without the plugin. Is there something I am missing while compiling the .so file or should I look elsewhere?
(the source code can be found on the above-mentioned link)
Thank You,
Ruturaj
I am trying to use NONAFFINE_NETWORK_SOLVER_PLUGIN (https://github.com/RyanMahutga/Non-a...Network-Plugin) plugin on HPC (https://www.msi.umn.edu/content/hpc) which is a Linux system. As the plugin provided here is a DLL file, I had to recompile the source codes as a .so file to be used on HPC. I used the following two-line code to do it through the command line (the include folder is in the same directory as the course codes and I have copied the library files here for convenience)
''gcc -std=c++11 -Iinclude -fPIC -c calcForcesPeriodic.cpp calcJacobian2.cpp componentStress2.cpp dllmain.cpp FENetwork.cpp fiberConstEqn.cpp networkElasticity.cpp networkSolver.cpp overwriteResults.cpp stressCalc.cpp updateCrossing.cpp"
"gcc *.o libfebiofluid.a libfebiomech.a libfebiomix.a libfecore.a -o NONAFFINE_NETWORK_SOLVER_PLUGIN.so -shared -Wl,-soname,NONAFFINE_NETWORK_SOLVER_PLUGIN.so -lstdc++"
The .so file was created and I tried to solve a simple problem using the plugin, both my own system and the Linux HPC system. I got the same results on both systems, however, the time required on HPC was much higher, even after using parallelization ( 2min on my system (4 cores) vs 14 min with HPC (32 cores) (without parallelization the simulation takes forever on HPC)). Further, ensure that the issue lies with the plugin and not the HPC. I did a simple simulation without the plugin, which as expected is much faster on HPC (1.5 min on my system (8 cores) vs 1 min with HPC(8 cores).
I want the simulation on HPC using the plugin to be faster, which should also be the case and is happening without the plugin. Is there something I am missing while compiling the .so file or should I look elsewhere?
(the source code can be found on the above-mentioned link)
Thank You,
Ruturaj
Comment