Update README.md
Signed-off-by: David Rotermund <54365609+davrot@users.noreply.github.com>
This commit is contained in:
parent
ba2900b2cd
commit
98f3657934
1 changed files with 49 additions and 22 deletions
|
@ -11,30 +11,57 @@
|
|||
Questions to [David Rotermund](mailto:davrot@uni-bremen.de)
|
||||
|
||||
|
||||
### .env file
|
||||
|
||||
**Change the directories and parameters according you system.**
|
||||
|
||||
```Makefile
|
||||
PYBIN=~/P3.9/bin/
|
||||
COMPILER=clang
|
||||
PYBIN=~/P3.11/bin/
|
||||
CC=/usr/lib64/ccache/clang++
|
||||
NVCC=/usr/local/cuda-12/bin/nvcc -allow-unsupported-compiler
|
||||
|
||||
PYBIND11INCLUDE=`$(PYBIN)python3 -m pybind11 --includes`
|
||||
PARAMETERS_O_CPU = -O3 -std=c++14 -fPIC -Wall -fopenmp=libomp
|
||||
PARAMETERS_Linker_CPU = -shared -lm -lomp -lstdc++ -Wall
|
||||
|
||||
PARAMETERS= -O3 -std=c++14 -fPIC $(PYBIND11INCLUDE) -Wall
|
||||
PARAMETERS_O_GPU= -O3 -std=c++14 -ccbin=$(CC) \
|
||||
-Xcompiler "-fPIC -Wall -fopenmp=libomp"
|
||||
PARAMETERS_Linker_GPU=-Xcompiler "-shared -lm -lomp -lstdc++ -Wall"
|
||||
|
||||
THEMODULENAME=themodule`$(PYBIN)python3-config --extension-suffix`
|
||||
|
||||
all: themodule
|
||||
|
||||
MyModule.o: MyModule.h MyModule.cpp
|
||||
$(COMPILER) $(PARAMETERS) -c MyModule.cpp -o MyModule.o
|
||||
|
||||
themodule.o: MyModule.h themodule.cpp
|
||||
$(COMPILER) $(PARAMETERS) -c themodule.cpp -o themodule.o
|
||||
|
||||
themodule: MyModule.o themodule.o
|
||||
$(COMPILER) -shared -o themodule MyModule.o themodule.o -lm -lstdc++ -Wall
|
||||
cp themodule $(THEMODULENAME)
|
||||
|
||||
clean:
|
||||
rm -f $(THEMODULENAME)
|
||||
rm -f themodule
|
||||
rm -f *.o
|
||||
O_DIRS = o/
|
||||
```
|
||||
|
||||
### Makefile
|
||||
```Makefile
|
||||
include .env
|
||||
export
|
||||
|
||||
name = MyModule
|
||||
type = CPU
|
||||
|
||||
PYPOSTFIX := $(shell $(PYBIN)python3-config --extension-suffix)
|
||||
PYBIND11INCLUDE := $(shell $(PYBIN)python3 -m pybind11 --includes)
|
||||
PARAMETERS_O = $(PARAMETERS_O_CPU) $(PYBIND11INCLUDE)
|
||||
PARAMETERS_Linker = $(PARAMETERS_Linker_CPU)
|
||||
|
||||
so_file = Py$(name)$(type)$(PYPOSTFIX)
|
||||
pyi_file = Py$(name)$(type).pyi
|
||||
all: ../$(so_file)
|
||||
|
||||
$(O_DIRS)$(name)$(type).o: $(name)$(type).h $(name)$(type).cpp
|
||||
mkdir -p $(O_DIRS)
|
||||
$(CC) $(PARAMETERS_O) -c $(name)$(type).cpp -o $(O_DIRS)$(name)$(type).o
|
||||
|
||||
$(O_DIRS)Py$(name)$(type).o: $(name)$(type).h Py$(name)$(type).cpp
|
||||
mkdir -p $(O_DIRS)
|
||||
$(CC) $(PARAMETERS_O) -c Py$(name)$(type).cpp -o $(O_DIRS)Py$(name)$(type).o
|
||||
|
||||
../$(so_file): $(O_DIRS)$(name)$(type).o $(O_DIRS)Py$(name)$(type).o
|
||||
$(CC) $(PARAMETERS_Linker) -o ../$(so_file) $(O_DIRS)$(name)$(type).o $(O_DIRS)Py$(name)$(type).o
|
||||
|
||||
|
||||
#######################
|
||||
clean:
|
||||
rm -rf $(O_DIRS)
|
||||
rm -f ../$(so_file)
|
||||
rm -f ../$(pyi_file)
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue