CUCOMP  = nvcc
CUFLAGS = -arch=sm_70
# TODO: change the path to the OpenMPI directory
# 1) WORKS 22.1
# OMPI_DIR =/usr/local/nvidia_hpc_sdk/MAJSLURM/Linux_x86_64/22.1/comm_libs/mpi
# 2) DOES NOT WORKS 11.5-ompi405
# OMPI_DIR =/usr/local/nvidia_hpc_sdk/MAJSLURM/Linux_x86_64/22.1/comm_libs/hpcx/hpcx-2.10.beta/ompi
# 3) DOES NOT WORK 22.1 ompi405
# OMPI_DIR =/usr/local/nvidia_hpc_sdk/MAJSLURM/Linux_x86_64/22.1/comm_libs/openmpi4/openmpi-4.0.5/
# 4) WORKS pgi 4.0.4-UCX
# OMPI_DIR =/usr/local/openmpi/pgi/openmpi404_pg1910_cuda101105_ucx18_gdrcopy2-maj-scs5-R3/
# 5) WORKS 22.7 
# OMPI_DIR =/usr/local/nvidia_hpc_sdk/MAJSLURM//Linux_x86_64/22.7/comm_libs/hpcx/hpcx-2.11/ompi

# New versions
# 6) DOES WORK gnu 4.1.4.2
OMPI_DIR =/opt/mpi/openmpi/4.1.4.2

INCLUDES  = -I$(OMPI_DIR)/include
LIBRARIES = -L$(OMPI_DIR)/lib  -lcudart -lcuda -lmpi

bcast_allreduce_test: bcast_allreduce_test.o
	$(CUCOMP) $(CUFLAGS) $(LIBRARIES) bcast_allreduce_test.o -o bcast_allreduce_test

bcast_allreduce_test.o: bcast_allreduce_test.cu
	$(CUCOMP) $(CUFLAGS) $(INCLUDES) -c bcast_allreduce_test.cu

.PHONY: clean

clean:
	rm -f bcast_allreduce_test *.o


