⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 C++编写的高性能矩阵乘法的Stranssen算法
💻
字号:
# Makefile for Strassen codePRISM_BLAS_LIB=../../GotoBLAS/libgoto.aPRISM_MPI_ARCH=P4ARCH = $(PRISM_MPI_ARCH)include ../make_include/Make-$(ARCH).includeCFLAGS = $(OPTFLAGS) $(PRISM_DEFINES) -I../include -DSTRAS_NON_SQ # choices for CFLAGS above for export versions:# -DSTRAS_RANDOM -DSTRAS_NON_SQ -DSTRAS_ESSL -DSTRAS_CRAY  # additional choices for CFLAGS above for CCS testing versions:# -DSTRAS_PRISM_TIME -DSTRAS_PLOT   -DPRISM_MEM_CHK  # -DSTRAS_TIME_PARTS -DSTRAS_DGEMMW -DINFILE# choices to be used as PRISM_DEFINES in Make-$(ARCH).include:# -DSTRAS_FORTRAN_ADD    -DSTRAS_FORTRAN_SUB# _DSTRAS_ESSL_ADD       -DSTRAS_ESSL_SUB # -DSTRAS_BLAS_ADD       -DSTRAS_BLAS_SUB # -DPRISM_SP -DPRISM_SUN -DPRISM_CRAY -DPRISM_T3DFFLAGS = $(FOPTFLAGS)PROG = timefmmEXECS = $(PROG)_$(ARCH)LIB_PATH = ../libLIB = $(LIB_PATH)/stras_lib_$(ARCH).a#default: stras_testing stras_libdefault: stras_liball: defaulttesting: stras_testing.SUFFIXES: .f .c .o$(U_ARCH)# Use the following to incorporate Gropp's TR_TOOLS - NOT FOR EXPORT#OBJS_FMM = fmm_internal.o$(U_ARCH) fmm.o$(U_ARCH) DGEFMM.o$(U_ARCH) DGEFMM_MEM.o$(U_ARCH) gen_matrix.o$(U_ARCH) matrix.o$(U_ARCH) strassen_internal.o$(U_ARCH) matrix_arith.o$(U_ARCH) fixup_internal.o$(U_ARCH) timefmm.o$(U_ARCH) tr.o$(U_ARCH) $(OBJS_MACHINE) $(OBJS_CLOCK)OBJS_FMM = fmm_internal.o$(U_ARCH) fmm.o$(U_ARCH) DGEFMM.o$(U_ARCH) DGEFMM_MEM.o$(U_ARCH) gen_matrix.o$(U_ARCH) matrix.o$(U_ARCH) strassen_internal.o$(U_ARCH) matrix_arith.o$(U_ARCH) fixup_internal.o$(U_ARCH) timefmm.o$(U_ARCH) $(OBJS_MACHINE) $(OBJS_CLOCK) OBJS_LIB = fmm_internal.o$(U_ARCH) lib_fmm.o$(U_ARCH) DGEFMM.o$(U_ARCH) DGEFMM_MEM.o$(U_ARCH) matrix.o$(U_ARCH) matrix_arith.o$(U_ARCH) fixup_internal.o$(U_ARCH) strassen_internal.o$(U_ARCH) $(OBJS_MACHINE)LIBS = $(BLAS_LIB) -lm stras_testing:	$(OBJS_FMM)		$(CFLINKER) $(LFLAGS) -o $(EXECS) $(OBJS_FMM) $(LIBS)stras_lib:	$(LIB_PATH) $(OBJS_LIB) lib_fmm.o$(U_ARCH)		$(AR) $(LIB) $(OBJS_LIB) 		$(RANLIB) $(LIB)# default rules.c.o$(U_ARCH):	$(CC) $(CFLAGS) -c $?	if [ $(ARCH) != cray_t3d ] ; then \          mv $*.o $@ ; \	fimatrix_arith.o$(U_ARCH):	matrix_arith.F#	$(CPP) -P $(CPP_FLAGS) matrix_arith.F > matrix_arith.f	$(F77) $(FFLAGS) -c matrix_arith.F	if [ $(ARCH) != cray_t3d ] ; then \          mv matrix_arith.o $@ ; \	fi	/bin/rm -f matrix_arith.f# Need to take care of fmm.c separately for library version since we need # to compile in cutoff = STRAS_CUTOFF herelib_fmm.o$(U_ARCH):	fmm.c			cp fmm.c lib_fmm.c			$(CC) $(CFLAGS) -DSTRAS_LIB -c lib_fmm.c			if [ $(ARCH) != cray_t3d ] ; then \		          mv lib_fmm.o lib_fmm.o$(U_ARCH); \			fi			/bin/rm -f lib_fmm.ctr.o$(U_ARCH):	tr.c# Won't compile with xlc on RS6000	cc $(CFLAGS) -c tr.c	if [ $(ARCH) != cray_t3d ] ; then \          mv $*.o $@ ; \	fi	$(LIB_PATH):	mkdir -p $(LIB_PATH)cleanobjs:		/bin/rm -f *.o$(U_ARCH)clean:		/bin/rm -f $(EXECS) *.o *.o$(U_ARCH) *~

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -