view all tags
---+ *LPG*: Linear Programming on GPGPUs ---++ Project contains: * libLPG - library that contains functions to solve linear programmes using a CPU or GPGPU. * LPG - a command-line based interface to the libLPG solver [not implemented yet!] * libOsiLPG - an Open Solver Interface library to allow COIN-OR projects to use LPG as their LP solver. ---++ Project file structure * !BuildTools _[taken from the COIN-OR BuildTools SVN]_ * !CoinUtils _[taken from the COIN-ORCoinUtils SVN]_ * libLPG * kernel _[the !OpenCL kernels used by libLPG]_ * src _[the C++ files and headers used by libLPG]_ * !MSVisualStudio _[the solution/project file for libLPG]_ * libOsiLPG * !MSVisualStudio _[the solution/project file for libOsiLPG]_ * src _[the C++ files and headers used by libOsiLPG]_ ---++ Project status ---+++ Done before 24th January * Solve LPs in single and double precision on CPU (dense A matrix, standard computational form) * Solve LPs in single precision on GPU (dense A, SCF) * Solve LPs with CBC ---+++ Todo * Implement all functions required for CBC to solve IPs using LPG * Write code to take any problem and convert to SCF * Enhance solvers to accept bounds on columns * Make solvers that can handle sparsity * Write the CLI for LPG * <s>Compress single/dbl cpu solver into one file using preprocessor defines</s> Done 24th Jan ---++ Firing up CBC with LPG (on Windows, VS2008) These instructions will help you compile a simple example that uses CBC: 1 Download CBC from its SVN repository 1 Download LPG from...! 1 Open the _\Cbc\MSVisualStudio\v9\Cbc.sln_ solution file 1 Add the libLPG and libOsiLPG projects to the solution 1 Add a new empty project, call it cbcExampleMin 1 Add _\Cbc\examples\minimum.cpp_ to the new project 1 Set cbcExampleMin as the StartUp project (right click on the project name, pick from menu) 1 Set cbcExampleMin's dependecies to be: 1 libCbc 1 libCoinUtils 1 libLPG 1 libOsi 1 libOsiCBC 1 libOsiLPG 1 libClp [needed for CBC, could probably be removed with correct config] 1 libOsiClp [needed for CBC, could probably be removed with correct config] 1 libCgl [needed for CBC] 1 Set project properties -> C/C++ -> Code Generation -> Runtime library to /MTd 1 Set the project to look in the following folders for includes: 1 \Cbc\src 1 \CoinUtils\src 1 \BuildTools\headers 1 \Osi\src 1 LPG (wherever it is)\libOsiLPG\src 1 Change the line: 1 #include "OsiClpSolverInterface.hpp" 1 to 1 #include "OsiLpgSolverInterface.hpp" 1 Change the line: 1 OsiClpSolverInterface solver1; 1 to 1 OsiLpgSolverInterface solver1;
More topic actions...
Topic revision: r2 - 2011-01-24
Create New Topic
More topic actions
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Copyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?