Commit 6c9643ef authored by Alois SCHLOEGL's avatar Alois SCHLOEGL
Browse files

fix and improve instructions for installation on GNU/Linux

parent 4f0b3126
......@@ -11,3 +11,4 @@ doc/latex/*
data/*
script/*
submit/*
*~
......@@ -35,6 +35,30 @@ This repository comes with sample main cpp files that can be compiled into execu
and in examples/. Please see the [examples](@ref code) documentation for details on each.
range of parameters.
# GNU/Linux Instructions
(This is tested on Debian 10.) Make sure that you have boost, eigen, libcgal-dev, libnetcdf-cxx-legacy-dev
installed, and make sure to have CUDA_HOME defined. You can also use your
own version of CGAL.
```
export CUDA_HOME=/usr/local/cuda/
export CGAL_DIR=/home/user/CGAL/CGAL-4.9.1/
make
```
If you want to compile it on an hpc cluster with a module system, you might
be able to load the required libraries like this:
```
module load cuda/11.2.2
module load cgal/4.9.1
module load eigen/3.3.9
make -B -j 4
```
# Mac OS X Instructions
IMPORTANT NOTE: Current versions of Mac OsX do not support CUDA installation... it may be possible to hack some solution together, but for the moment it looks like Mac will not be supported. As such, these mac install instructions are for historical reference for systems running OsX 12 and earlier.
......
# Licensing information {#license}
CellGPU is released under the MIT license
This version of CellGPU is licensed und GPLv3
If want to use CellGPU with the original MIT license, you need to go to
https://github.com/sussmanLab/cellGPU
Copyright (c) 2016 - 2019 Daniel M. Sussman
Copyright (c) 2021 Alois Schloegl
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
This version of CellGPU is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or (at your option) any later version.
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
All publications and presentations based on this software will acknowledge its use according to the terms posted at the time of submission on the code homepage.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
# External code used
......
# Copyright (c) 2016 - 2019 Daniel M. Sussman
# Copyright (C) 2021 Alois Schloegl
#standard places to find cuda files
CUDA_INC = /usr/local/cuda/includes
CUDA_LIB = /usr/local/cuda/lib64
CUDA_LIB2 = /usr/local/cuda/lib
CUDA_INC = $(CUDA_HOME)/include
CUDA_LIB = $(CUDA_HOME)/lib64
CUDA_LIB2 = $(CUDA_HOME)/lib
CXX := g++
CC := gcc
LINK := g++ #-fPIC
NVCC := nvcc
INCLUDES = -I. -I./src/ -I./ext_src/ -I./inc/ -I$(CUDA_INC) -I/home/user/CGAL/CGAL-4.9/include -I/opt/local/include
INCLUDES += -I/usr/local/Cellar/cgal/4.9/include -I/usr/local/Cellar/boost/1.62.0/include -I/usr/local/Cellar/gmp/6.1.2/include -I/usr/local/Cellar/mpfr/3.1.5/include -I/usr/local/Cellar/netcdf/4.4.1.1_4/include -I/home/dmsussma/eigen-eigen-8d1ccfd9c5a0 -I/usr/local/include/eigen3
INCLUDES = -I. -I./src/ -I./ext_src/ -I./inc/ -I$(CUDA_INC)
INCLUDES += -I$(CGAL_DIR)/Periodic_2_triangulation_2/include/
LIB_CUDA = -L. -L$(CUDA_LIB) -L$(CUDA_LIB2) -lcuda -lcudart
LIB_CGAL += -L/usr/local/Cellar/cgal/4.9/lib -L/usr/local/Cellar/gmp/6.1.2/lib -L/usr/local/Cellar/mpfr/3.1.5/lib
LIB_CGAL += -L/home/user/CGAL/CGAL-4.9/lib -lCGAL -lCGAL_Core -lgmp -lmpfr
LIB_NETCDF = -lnetcdf -lnetcdf_c++ -L/opt/local/lib
LIB_CGAL += -L$(CGAL_DIR)/lib -L/usr/lib/x86_64-linux-gnu/
LIB_CGAL += -L$(CGAL_DIR)/lib -lCGAL -lCGAL_Core -lgmp -lmpfr
LIB_NETCDF = -lnetcdf -lnetcdf_c++
#common flags
COMMONFLAGS += $(INCLUDES) -std=c++11 -DCGAL_DISABLE_ROUNDING_MATH_CHECK -O3
NVCCFLAGS += -arch=sm_35 -D_FORCE_INLINES $(COMMONFLAGS) -Wno-deprecated-gpu-targets #-Xptxas -fmad=false#-O0#-dlcm=ca#-G
COMMONFLAGS += $(INCLUDES) -std=c++14 -DCGAL_DISABLE_ROUNDING_MATH_CHECK -O3
NVCCFLAGS += -arch=sm_35 -D_FORCE_INLINES $(COMMONFLAGS) -std=c++14 -Wno-deprecated-gpu-targets #-Xptxas -fmad=false#-O0#-dlcm=ca#-G
CXXFLAGS += $(COMMONFLAGS)
CXXFLAGS += -w -frounding-math
CFLAGS += $(COMMONFLAGS) -frounding-math
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment