Files
rocm-systems/src/Makefile
T

80 строки
1.9 KiB
Makefile
Исходник Обычный вид История

2017-08-08 16:18:34 -07:00
#
# Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.
2019-04-10 15:28:40 -07:00
# Modifications are Copyright (c) 2019 Advanced Micro Devices, Inc. All rights reserved.
2017-08-08 16:18:34 -07:00
#
# See LICENSE.txt for license information
2017-08-08 16:18:34 -07:00
#
2019-04-09 15:51:40 -07:00
ROCM_HOME ?= /opt/rocm
MPI_HOME ?= /usr/lib/openmpi
2017-08-08 16:18:34 -07:00
PREFIX ?= /usr/local
VERBOSE ?= 0
DEBUG ?= 0
2020-09-25 18:06:09 +00:00
NCCL_HOME ?= ""
2017-08-08 16:18:34 -07:00
2019-04-09 15:51:40 -07:00
HIPCC = $(ROCM_HOME)/hip/bin/hipcc
CXX = $(HIPCC)
2017-08-08 16:18:34 -07:00
2019-11-15 13:46:03 -08:00
HIPCUFLAGS := -std=c++14
2020-09-17 14:54:12 -07:00
LDFLAGS :=
HIPLDFLAGS :=
ifneq ($(NCCL_HOME), "")
HIPCUFLAGS += -I$(NCCL_HOME)
HIPLDFLAGS += -Wl,-rpath,$(NCCL_HOME) -L$(NCCL_HOME)
endif
2019-04-09 15:51:40 -07:00
HIPCUFLAGS += -I$(ROCM_HOME)/include
HIPCUFLAGS += -I$(ROCM_HOME)/include/rccl
HIPCUFLAGS += -I$(ROCM_HOME)/hip/include/hip
2020-09-17 14:54:12 -07:00
LDFLAGS += -L$(ROCM_HOME)/lib -lhsa-runtime64 -lrt
HIPLDFLAGS += $(CUSTOM_RCCL_LIB) -L$(ROCM_HOME)/lib -lhsa-runtime64 -lrt
2017-08-08 16:18:34 -07:00
ifeq ($(DEBUG), 0)
2019-04-09 15:51:40 -07:00
HIPCUFLAGS += -O3
2017-08-08 16:18:34 -07:00
else
2019-04-09 15:51:40 -07:00
HIPCUFLAGS += -O0 -g -ggdb3
2017-08-08 16:18:34 -07:00
endif
2019-04-09 15:51:40 -07:00
ifeq ($(VERBOSE), 0)
2017-08-08 16:18:34 -07:00
.SILENT:
endif
.PHONY: build clean
BUILDDIR ?= ../build
ifeq ($(MPI), 1)
2020-04-10 07:51:39 -07:00
HIPCUFLAGS += -DMPI_SUPPORT -I${MPI_HOME}/include -I${MPI_HOME}/include/mpi
2019-04-09 15:51:40 -07:00
HIPLDFLAGS += -L${MPI_HOME}/lib -lmpi
2019-05-16 13:18:23 -07:00
else ifeq ($(MPICH), 1)
2019-05-13 23:45:28 +00:00
HIPCUFLAGS += -DMPI_SUPPORT -I/usr/include/mpich
HIPLDFLAGS += -L/usr/lib -lmpi
2017-08-08 16:18:34 -07:00
endif
2019-05-13 23:45:28 +00:00
2019-04-09 15:51:40 -07:00
LIBRARIES += rccl
HIPLDFLAGS += $(LIBRARIES:%=-l%)
2017-08-08 16:18:34 -07:00
DST_DIR := $(BUILDDIR)
SRC_FILES := $(wildcard *.cu)
OBJ_FILES := $(SRC_FILES:%.cu=${DST_DIR}/%.o)
2020-08-27 23:45:47 +00:00
BIN_FILES_LIST := all_reduce all_gather broadcast reduce_scatter reduce alltoall gather scatter sendrecv alltoallv
2017-08-08 16:18:34 -07:00
BIN_FILES := $(BIN_FILES_LIST:%=${DST_DIR}/%_perf)
build: ${BIN_FILES}
clean:
rm -rf ${DST_DIR}
${DST_DIR}/%.o: %.cu common.h
2017-08-08 16:18:34 -07:00
@printf "Compiling %-35s > %s\n" $< $@
@mkdir -p ${DST_DIR}
2019-04-09 15:51:40 -07:00
echo "$(HIPCC) -o $@ $(HIPCUFLAGS) -c $<"
$(HIPCC) -o $@ $(HIPCUFLAGS) -c $<
2017-08-08 16:18:34 -07:00
${DST_DIR}/%_perf:${DST_DIR}/%.o ${DST_DIR}/common.o
@printf "Linking %-35s > %s\n" $< $@
@mkdir -p ${DST_DIR}
2019-04-09 15:51:40 -07:00
echo "$(HIPCC) -o $@ $(HIPCUFLAGS) $^ ${HIPLDFLAGS}"
$(HIPCC) -o $@ $(HIPCUFLAGS) $^ ${HIPLDFLAGS}
2017-08-08 16:18:34 -07:00