phigrape-hybrid/Makefile

70 lines
1.5 KiB
Makefile

################################################################################
# This is the unified Makefile for the hybrid code #
################################################################################
RUNDIR ?= run
ETICS_LMAX ?= 2
ETICS_NMAX ?= 10
GPUARCH ?= sm_75
CUDAHOME ?= /usr/local/cuda
MPIHOME ?= /home/meiron/local
OPTIMIZATION ?= 3
CXXFLAGS += $(CFLAGS)
CUDAFLAGS ?=
CXX ?= g++
MPICC ?= mpicc
NVCC ?= $(CUDAHOME)/bin/nvcc
export
default: hybrid-sapporo
hybrid-yebisu: etics yebisu
make -C grapite yebisu
make -C phigrape grapite
mkdir -p $(RUNDIR)/
cp -rp phigrape/phigrape $(RUNDIR)/
hybrid-sapporo: etics sapporo
make -C grapite sapporo
make -C phigrape grapite
cp -rp phigrape/phigrape $(RUNDIR)/
plain-yebisu: yebisu
make -C phigrape yebisu
mkdir -p $(RUNDIR)/
cp -rp phigrape/phigrape $(RUNDIR)/
plain-sapporo: sapporo
cp -rp sapporo2/testCodes/src/g6lib.h sapporo2/lib/grape6.h
make -C phigrape sapporo
cp -rp phigrape/phigrape $(RUNDIR)/
etics:
make -C etics/src library
yebisu:
make -C yebisu
sapporo:
make -C sapporo2/lib
mkdir -p $(RUNDIR)/
rm -rf $(RUNDIR)/CUDA
cp -rp ../sapporo2/lib/CUDAKernels $(RUNDIR)/CUDA
##################
#
#yebisu:
# make -C yebisu
# make -C $(RUNDIR) yebisu
#
clean:
make -C etics/src clean
make -C yebisu clean
make -C sapporo2/lib clean
make -C grapite clean
make -C phigrape clean
.PHONY: default hybrid-yebisu hybrid-sapporo plain-yebisu plain-yebisu etics yebisu sapporo