From 54f261356d2a9faea19aac0cad8424bad53cbe9d Mon Sep 17 00:00:00 2001 From: Simon Praetorius <simon.praetorius@tu-dresden.de> Date: Sun, 28 Jul 2013 11:23:19 +0000 Subject: [PATCH] old Pluginsystem removed --- AMDiS/plugins/CMakeLists.txt | 15 ------ AMDiS/plugins/src/PluginProvider.h | 73 ------------------------------ AMDiS/plugins/src/umfpack.cpp | 9 ---- AMDiS/plugins/src/use.cpp | 55 ---------------------- 4 files changed, 152 deletions(-) delete mode 100644 AMDiS/plugins/CMakeLists.txt delete mode 100644 AMDiS/plugins/src/PluginProvider.h delete mode 100644 AMDiS/plugins/src/umfpack.cpp delete mode 100644 AMDiS/plugins/src/use.cpp diff --git a/AMDiS/plugins/CMakeLists.txt b/AMDiS/plugins/CMakeLists.txt deleted file mode 100644 index e901c3b8..00000000 --- a/AMDiS/plugins/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -project(amdis-plugins) - -cmake_minimum_required(VERSION 2.8) -include_directories(../src/ ../lib/mtl4/ ../lib/UMFPACK/Include ../lib/AMD/Include ../lib/UFconfig/ ) -link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../ - ${CMAKE_CURRENT_SOURCE_DIR}/../lib/UMFPACK/Lib/ - ${CMAKE_CURRENT_SOURCE_DIR}/../lib/AMD/Lib/) -add_library(amdis-umfpack SHARED src/umfpack.cpp) -target_link_libraries(amdis-umfpack umfpack amd blas) - - -add_executable(use src/use.cpp) -target_link_libraries(use dl amdis boost_iostreams boost_system) -#amdis was compiled with openmp -> needed openmp for the application also. -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp") diff --git a/AMDiS/plugins/src/PluginProvider.h b/AMDiS/plugins/src/PluginProvider.h deleted file mode 100644 index 9241d18f..00000000 --- a/AMDiS/plugins/src/PluginProvider.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef PLUGINPROVER_H -#define PLUGINPROVER_H - -#include "dlfcn.h" -#include <string> - -using namespace std; - -namespace AMDiS { -template< typename DesiredCreator > -struct PluginProvider { - typedef DesiredCreator* Creator(); - typedef void Remover(DesiredCreator* ); - - string createName; - string removeName; - - Remover* remover; - - PluginProvider(string c, string r): - createName(c), - removeName(r), - remover(NULL) - {} - - enum Error { NOLIBRARY, NOCREATOR, NOREMOVER }; - struct Exception { - Error e; - string message; - Exception(Error e, string m): - e(e),message(m) - {} - }; - - DesiredCreator* create(string libname) { - void* library=dlopen(libname.c_str(), RTLD_LAZY); - if(library==NULL) { - throw Exception(NOLIBRARY, dlerror()); - } - - dlerror(); - - Creator* creator=(Creator*) (dlsym(library, createName.c_str())); - if(creator == NULL) { - throw Exception(NOCREATOR, dlerror()); - } - - remover=(Remover*) (dlsym(library, removeName.c_str())); - if(remover == NULL) { - throw Exception(NOREMOVER, dlerror()); - } - - DesiredCreator* creatingCreator=creator(); - return creatingCreator; - } - - void remove(DesiredCreator* dc) { - if(remover == NULL) { - throw Exception(NOREMOVER, "the remover was not set\n"); - } - remover(dc); - } -}; - -//typedef OEMSolverCreator* createSolverCreator(); -//typedef void removeSolverCreator(OEMSolverCreator*); -struct SolverPluginProvider : PluginProvider< OEMSolverCreator > { - SolverPluginProvider(): - PluginProvider< OEMSolverCreator >("createSolverCreator","removeSolverCreator") - {} -}; -} -#endif diff --git a/AMDiS/plugins/src/umfpack.cpp b/AMDiS/plugins/src/umfpack.cpp deleted file mode 100644 index 790f5a96..00000000 --- a/AMDiS/plugins/src/umfpack.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#define HAVE_UMFPACK -#define MTL_HAS_UMFPACK -#include "AMDiS.h" -#include "UmfPackSolver.h" - -using namespace AMDiS; - -extern "C" OEMSolverCreator* createSolverCreator() { return new UmfPackSolver::Creator(); } -extern "C" void removeSolverCreator(OEMSolverCreator* p) { delete p; } diff --git a/AMDiS/plugins/src/use.cpp b/AMDiS/plugins/src/use.cpp deleted file mode 100644 index df56b585..00000000 --- a/AMDiS/plugins/src/use.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#include "AMDiS.h" -#include "dlfcn.h" -#include "PluginProvider.h" -#include <iostream> - -using namespace AMDiS; -using namespace std; - -//typedef OEMSolverCreator* Creator(); -//typedef void Remover(OEMSolverCreator*); - -int main(int argc, char** argv) { -/* void* umfpackLib=dlopen("./libamdis-umfpack.so", RTLD_LAZY); - if (!umfpackLib) { - cerr << "Cannot load library: " << dlerror() << '\n'; - return 1; - } - dlerror(); - - Creator* creator=(Creator*) (dlsym(umfpackLib, "createSolverCreator")); - if(creator == NULL) { - cerr << "could not load the create function in libumfpack.so \n"; - return 2; - } - - Remover* remover=(Remover* )(dlsym(umfpackLib, "removeSolverCreator")); - if( remover == NULL) { - cerr << "could not load the remove function in libumfpack.so \n"; - return 3; - } - - OEMSolverCreator* theCreator=creator(); - */ - SolverPluginProvider spp; - OEMSolver* theSolver(NULL); - try { - OEMSolverCreator* theCreator=spp.create("./libamdis-umfpack.so"); - theCreator->setName("umfpack"); - theSolver=theCreator->create(); -// remover(theCreator); - spp.remove(theCreator); - }catch(SolverPluginProvider::Exception e) { - std::cerr<< "could not load the umfpack solver: "<<e.message<<"\n"; - return 1; - } - mtl::matrix::compressed2D< double > testMatrix(10,10); - mtl::matrix::diagonal_setup(testMatrix, 5.0); - mtl::vector::dense_vector< double > b(10); - b=4.0; - mtl::vector::dense_vector< double > x(10); - x=0.0; - theSolver->solveSystem(testMatrix,x,b); - delete theSolver; - return 0; -} -- GitLab