diff --git a/dvm/fdvm/trunk/fdvm/acc.cpp b/dvm/fdvm/trunk/fdvm/acc.cpp index 8f6ff5f..303e8d8 100644 --- a/dvm/fdvm/trunk/fdvm/acc.cpp +++ b/dvm/fdvm/trunk/fdvm/acc.cpp @@ -14172,7 +14172,7 @@ SgStatement *Create_C_Adapter_Function(SgSymbol *sadapter) stmt = new SgCExpStmt(SgAssignOp(*new SgVarRefExp(*s_overallBlocks), *new SgArrayRefExp(*s_blocksS, *new SgValueExp(0)))); st_end->insertStmtBefore(*stmt, *st_hedr); if (currentLoop && currentLoop->irregularAnalysisIsOn()) - stmt = new SgCExpStmt(SgAssignOp(*new SgVarRefExp(*s_restBlocks), *new SgVarRefExp(*s_overallBlocks) * *new SgVarRefExp(s_warpsize))); + stmt = new SgCExpStmt(SgAssignOp(*new SgVarRefExp(*s_restBlocks), *new SgVarRefExp(*s_overallBlocks) * *GetWarpSize(s_loop_ref))); else stmt = new SgCExpStmt(SgAssignOp(*new SgVarRefExp(*s_restBlocks), *new SgVarRefExp(*s_overallBlocks))); st_end->insertStmtBefore(*stmt, *st_hedr); @@ -14617,9 +14617,10 @@ SgExpression *sizeOfPrivateArraysInBytes() { int i_size = e_size->valueInteger(); e_size = new SgValueExp(i_size); - if (i_size > 512) + //TODO: need to add option + /*if (i_size > 2048) return e_size; - else + else */ return NULL; } diff --git a/dvm/fdvm/trunk/fdvm/funcall.cpp b/dvm/fdvm/trunk/fdvm/funcall.cpp index fcef8cb..68d9ee8 100644 --- a/dvm/fdvm/trunk/fdvm/funcall.cpp +++ b/dvm/fdvm/trunk/fdvm/funcall.cpp @@ -4992,7 +4992,7 @@ SgExpression* GetWarpSize(SgSymbol* s_loop_ref) {// generating function call: // int dvmh_get_warp_size(DvmType *InDvmhLoop) - SgFunctionCallExp* fe = new SgFunctionCallExp(*new SgSymbol(FUNCTION_NAME, "dvmh_get_warp_size", SgTypeInt(), s_loop_ref->scope())); + SgFunctionCallExp* fe = new SgFunctionCallExp(*fdvm[GET_WARP_SIZE]); fe->addArg(*new SgVarRefExp(s_loop_ref)); return(fe); diff --git a/dvm/fdvm/trunk/include/libdvm.h b/dvm/fdvm/trunk/include/libdvm.h index 719ee2f..c1c389a 100644 --- a/dvm/fdvm/trunk/include/libdvm.h +++ b/dvm/fdvm/trunk/include/libdvm.h @@ -337,4 +337,5 @@ name_dvm[GET_REMOTE_BUF_C] = "dvmh_loop_get_remote_buf_C"; name_dvm[GET_DEVICE_PROP] = "loop_cuda_get_device_prop"; name_dvm[GET_MAX_BLOCKS] = "loop_cuda_get_max_blocks"; name_dvm[GET_PRIVATE_ARR] = "loop_cuda_get_private_array"; -name_dvm[DISPOSE_PRIVATE_AR]="loop_cuda_dispose_private_array"; \ No newline at end of file +name_dvm[DISPOSE_PRIVATE_AR]="loop_cuda_dispose_private_array"; +name_dvm[GET_WARP_SIZE] = "dvmh_get_warp_size"; \ No newline at end of file diff --git a/dvm/fdvm/trunk/include/libnum.h b/dvm/fdvm/trunk/include/libnum.h index d73fd21..41f842b 100644 --- a/dvm/fdvm/trunk/include/libnum.h +++ b/dvm/fdvm/trunk/include/libnum.h @@ -336,5 +336,6 @@ enum { GET_MAX_BLOCKS, GET_PRIVATE_ARR, DISPOSE_PRIVATE_AR, + GET_WARP_SIZE, MAX_LIBFUN_NUM }; diff --git a/dvm/fdvm/trunk/parser/sym.c b/dvm/fdvm/trunk/parser/sym.c index 08c4984..ef5885d 100644 --- a/dvm/fdvm/trunk/parser/sym.c +++ b/dvm/fdvm/trunk/parser/sym.c @@ -784,7 +784,8 @@ int kind; else return (var_sym_entry); } case FUNCTION_NAME: - var_sym_entry->variant = FUNCTION_NAME; + if (type != TYNULL) + var_sym_entry->type = type; return (var_sym_entry); case ROUTINE_NAME: var_sym_entry->variant = FUNCTION_NAME; diff --git a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/BT/Makefile b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/BT/Makefile index f9de9b1..856ab65 100644 --- a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/BT/Makefile +++ b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/BT/Makefile @@ -43,22 +43,22 @@ ${PROGRAM}: config fi MPI_VER: $(OBJS) $(OBJS_MPI) - ${FLINK} -o ${PROGRAM} ${OBJS} $(OBJS_MPI) + ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS} $(OBJS_MPI) SINGLE_VER: $(OBJS) $(OBJS_SINGLE) - ${FLINK} -o ${PROGRAM} ${OBJS} $(OBJS_SINGLE) + ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS} $(OBJS_SINGLE) BLOCK_VER: $(OBJS) $(OBJS_BLOCK) - ${FLINK} -o ${PROGRAM} ${OBJS} $(OBJS_BLOCK) + ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS} $(OBJS_BLOCK) BLOCK_VER1: $(OBJS) $(OBJS_BLOCK1) - ${FLINK} -o ${PROGRAM} ${OBJS} $(OBJS_BLOCK1) + ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS} $(OBJS_BLOCK1) BLOCK_VER2: $(OBJS) $(OBJS_BLOCK2) - ${FLINK} -o ${PROGRAM} ${OBJS} $(OBJS_BLOCK2) + ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS} $(OBJS_BLOCK2) %.o: %.fdv npbparams.h header3d.h - ${F77} ${FFLAGS} -c -o $@ $< + ${F77} f ${FFLAGS} -c -o $@ $< clean: rm -f npbparams.h diff --git a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/CG/Makefile b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/CG/Makefile index c594e0b..d76580f 100644 --- a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/CG/Makefile +++ b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/CG/Makefile @@ -10,10 +10,12 @@ SOURCES = cg.fdv OBJS = ${SOURCES:.fdv=.o} ${PROGRAM}: config $(OBJS) - ${FLINK} -o ${PROGRAM} ${OBJS} + ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS} -%.o: %.fdv npbparams.h globals.h - ${F77} ${FFLAGS} -dvmIrregAnalysis -c -o $@ $< +cg.o: cg.fdv npbparams.h globals.h + ${F77} fdv ${FFLAGS} -dvmIrregAnalysis cg.fdv + cp cg.DVMH_cuda.cu_opt cg.DVMH_cuda.cu + ${F77} fc cg.fdv -c -o cg.o clean: rm -f npbparams.h diff --git a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/EP/Makefile b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/EP/Makefile index 501480e..a52a4a4 100644 --- a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/EP/Makefile +++ b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/EP/Makefile @@ -10,10 +10,10 @@ SOURCES = ep.fdv OBJS = ${SOURCES:.fdv=.o} ${PROGRAM}: config $(OBJS) - ${FLINK} -o ${PROGRAM} ${OBJS} + ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS} %.o: %.fdv npbparams.h - ${F77} ${FFLAGS} -c -o $@ $< + ${F77} f ${FFLAGS} -c -o $@ $< clean: rm -f npbparams.h diff --git a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/FT/Makefile b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/FT/Makefile index 70f9808..1afbae6 100644 --- a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/FT/Makefile +++ b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/FT/Makefile @@ -10,10 +10,10 @@ SOURCES = ft.fdv OBJS = ${SOURCES:.fdv=.o} ${PROGRAM}: config $(OBJS) - ${FLINK} -o ${PROGRAM} ${OBJS} + ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS} %.o: %.fdv npbparams.h global.h - ${F77} ${FFLAGS} -f90 -c -o $@ $< + ${F77} f ${FFLAGS} -f90 -c -o $@ $< clean: rm -f npbparams.h diff --git a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/FT/ft.fdv b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/FT/ft.fdv index bbe6e95..49fd41a 100644 --- a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/FT/ft.fdv +++ b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/FT/ft.fdv @@ -1796,7 +1796,7 @@ subroutine print_results(name, class, n1, n2, n3, niter, t, mops, optype, verifi parameter(d2m46=0.5d0**46) save i246m1 - data i246m1/X'00003FFFFFFFFFFF'/ + data i246m1/Z'00003FFFFFFFFFFF'/ Lx = X La = A @@ -1819,7 +1819,7 @@ subroutine vranlc (N, X, A, Y) parameter(d2m46=0.5d0**46) save i246m1 - data i246m1/X'00003FFFFFFFFFFF'/ + data i246m1/Z'00003FFFFFFFFFFF'/ Lx = X La = A diff --git a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/LU/Makefile b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/LU/Makefile index 1d20d7d..2ebe13d 100644 --- a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/LU/Makefile +++ b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/LU/Makefile @@ -16,10 +16,10 @@ ${PROGRAM}: config ${MAKE} exec exec: $(OBJS) - ${FLINK} ${FLINKFLAGS} -o ${PROGRAM} ${OBJS} ${F_LIB} + ${FLINK} flink -shared-dvm ${FLINKFLAGS} -o ${PROGRAM} ${OBJS} ${F_LIB} .f.o : - ${F77} ${FFLAGS} -c -o $@ $< + ${F77} f ${FFLAGS} -c -o $@ $< lu.o: lu.f applu.incl npbparams.h erhs.o: erhs.f applu.incl npbparams.h diff --git a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/MG/Makefile b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/MG/Makefile index e7dec93..9e72961 100644 --- a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/MG/Makefile +++ b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/MG/Makefile @@ -20,10 +20,10 @@ SOURCES = mg.fdv \ OBJS = ${SOURCES:.fdv=.o} ${PROGRAM}: config $(OBJS) - ${FLINK} -o ${PROGRAM} ${OBJS} + ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS} %.o: %.fdv npbparams.h globals.h dvmvars.h - ${F77} ${FFLAGS} -c -o $@ $< + ${F77} f ${FFLAGS} -c -o $@ $< clean: rm -f npbparams.h diff --git a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/SP/Makefile b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/SP/Makefile index 8dad459..8497efb 100644 --- a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/SP/Makefile +++ b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/SP/Makefile @@ -30,13 +30,13 @@ ${PROGRAM}: config fi MPI_VER: $(OBJS) $(OBJS_MPI) - ${FLINK} -o ${PROGRAM} ${OBJS} $(OBJS_MPI) + ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS} $(OBJS_MPI) SINGLE_VER: $(OBJS) $(OBJS_SINGLE) - ${FLINK} -o ${PROGRAM} ${OBJS} $(OBJS_SINGLE) + ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS} $(OBJS_SINGLE) %.o: %.for npbparams.h header.h - ${F77} ${FFLAGS} -c -o $@ $< + ${F77} f ${FFLAGS} -c -o $@ $< clean: rm -f npbparams.h diff --git a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/config/make.def b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/config/make.def index 905457b..9fddcc1 100644 --- a/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/config/make.def +++ b/dvm/tools/tester/trunk/test-suite/Performance/NPB/FDVMH.fdv/config/make.def @@ -1,5 +1,5 @@ -F77 = dvm f -shared-dvm -FLINK = dvm flink -shared-dvm +F77 = dvm +FLINK = dvm FFLAGS = ${FOPT} diff --git a/sapfor/experts/Sapfor_2017/_src/Server/server.cpp b/sapfor/experts/Sapfor_2017/_src/Server/server.cpp index 7a84326..999eace 100644 --- a/sapfor/experts/Sapfor_2017/_src/Server/server.cpp +++ b/sapfor/experts/Sapfor_2017/_src/Server/server.cpp @@ -84,6 +84,10 @@ void Sleep(int millisec) { usleep(millisec * 2000); } #endif +#define __print(prefix, format, ...) do { } while (0) + +#define __print_log(file, format, ...) do { } while (0) +/* #define __print(prefix, format, ...) do {\ printf((string("%s: ") + format + string("\n")).c_str(), prefix, ##__VA_ARGS__); \ fflush(NULL); \ @@ -98,10 +102,10 @@ void Sleep(int millisec) { usleep(millisec * 2000); } fflush(file); \ } \ } while (0) - +*/ #define SERV "[SERVER]" -static const char* VERSION = "9"; +static const char* VERSION = "10"; static FILE* logFile = NULL; extern void __bst_create(const char* name); @@ -865,7 +869,7 @@ int main(int argc, char** argv) } __print(SERV, "Invalid SAPFOR socket, try to restart"); __print_log(logFile, "invalid SAPFOR socket, try to restart"); - Sleep(500); + Sleep(100); } __bst_unlock(); diff --git a/sapfor/experts/Sapfor_2017/_src/Utils/version.h b/sapfor/experts/Sapfor_2017/_src/Utils/version.h index 8e88559..2268af7 100644 --- a/sapfor/experts/Sapfor_2017/_src/Utils/version.h +++ b/sapfor/experts/Sapfor_2017/_src/Utils/version.h @@ -1,3 +1,3 @@ #pragma once -#define VERSION_SPF "2382" +#define VERSION_SPF "2383" diff --git a/sapfor/experts/Sapfor_2017/_src/VisualizerCalls/SendMessage.cpp b/sapfor/experts/Sapfor_2017/_src/VisualizerCalls/SendMessage.cpp index 53b5f24..81cabb1 100644 --- a/sapfor/experts/Sapfor_2017/_src/VisualizerCalls/SendMessage.cpp +++ b/sapfor/experts/Sapfor_2017/_src/VisualizerCalls/SendMessage.cpp @@ -54,7 +54,10 @@ static FILE* logFile = NULL; #define FILE_LOG "Components/Sapfor_log.txt" #endif -#define __print(prefix, format, ...) do {\ +#define __print(prefix, format, ...) do { } while (0) +#define __print_log(file, format, ...) do { } while (0) + +/*#define __print(prefix, format, ...) do {\ printf((string("%s: ") + format + string("\n")).c_str(), prefix, ##__VA_ARGS__); \ fflush(NULL); \ } while (0) @@ -68,7 +71,7 @@ static FILE* logFile = NULL; fflush(file); \ } \ } while (0) - +*/ #define CLIENT "[SAPFOR]" static int doRecv(SOCKET& soc, string& command) @@ -302,7 +305,7 @@ static int send(SOCKET& client, const wstring& messageIn) char buf; recv(client, &buf, 1, 0); - printf("%s: send start\n", CLIENT); + __print(CLIENT, "send start\n", CLIENT); auto timeForPass = high_resolution_clock::now(); #ifdef _WIN32 err = send(client, result.c_str(), result.size(), 0); @@ -311,9 +314,7 @@ static int send(SOCKET& client, const wstring& messageIn) #endif const float elapsed = duration_cast(high_resolution_clock::now() - timeForPass).count() / 1000.; - printf("%s: send end with time %f sec\n", CLIENT, elapsed); - fflush(NULL); - + __print(CLIENT, "send end with time %f sec\n", elapsed); __print(CLIENT, "Send message with size %d", (int)result.size()); if (err != result.size())