removed logging from SAPFOR and SERVER, updated NPB and fdvm

This commit is contained in:
ALEXks
2025-01-28 10:09:10 +03:00
committed by Dudarenko
parent 44600a50c1
commit b76753c285
17 changed files with 51 additions and 40 deletions

View File

@@ -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)))); stmt = new SgCExpStmt(SgAssignOp(*new SgVarRefExp(*s_overallBlocks), *new SgArrayRefExp(*s_blocksS, *new SgValueExp(0))));
st_end->insertStmtBefore(*stmt, *st_hedr); st_end->insertStmtBefore(*stmt, *st_hedr);
if (currentLoop && currentLoop->irregularAnalysisIsOn()) if (currentLoop && currentLoop->irregularAnalysisIsOn())
stmt = new SgCExpStmt(SgAssignOp(*new SgVarRefExp(*s_restBlocks), *new SgVarRefExp(*s_overallBlocks) * *GetWarpSize(s_loop_ref))); stmt = new SgCExpStmt(SgAssignOp(*new SgVarRefExp(*s_restBlocks), *new SgVarRefExp(*s_overallBlocks) * *GetWarpSize(s_loop_ref)));
else else
stmt = new SgCExpStmt(SgAssignOp(*new SgVarRefExp(*s_restBlocks), *new SgVarRefExp(*s_overallBlocks))); stmt = new SgCExpStmt(SgAssignOp(*new SgVarRefExp(*s_restBlocks), *new SgVarRefExp(*s_overallBlocks)));
@@ -14617,9 +14617,10 @@ SgExpression *sizeOfPrivateArraysInBytes()
if (e_size && e_size->isInteger()) // calculating length if it is possible if (e_size && e_size->isInteger()) // calculating length if it is possible
{ {
int i_size = e_size->valueInteger(); int i_size = e_size->valueInteger();
e_size = new SgValueExp(i_size); e_size = new SgValueExp(i_size);
//TODO: need to add option
/*if (i_size > 2048) /*if (i_size > 2048)
return e_size; return e_size;
else */ else */
return NULL; return NULL;
} }

View File

@@ -4992,7 +4992,7 @@ SgExpression* GetWarpSize(SgSymbol* s_loop_ref)
{// generating function call: {// generating function call:
// int dvmh_get_warp_size(DvmType *InDvmhLoop) // 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)); fe->addArg(*new SgVarRefExp(s_loop_ref));
return(fe); return(fe);

View File

@@ -338,3 +338,4 @@ name_dvm[GET_DEVICE_PROP] = "loop_cuda_get_device_prop";
name_dvm[GET_MAX_BLOCKS] = "loop_cuda_get_max_blocks"; name_dvm[GET_MAX_BLOCKS] = "loop_cuda_get_max_blocks";
name_dvm[GET_PRIVATE_ARR] = "loop_cuda_get_private_array"; name_dvm[GET_PRIVATE_ARR] = "loop_cuda_get_private_array";
name_dvm[DISPOSE_PRIVATE_AR]="loop_cuda_dispose_private_array"; name_dvm[DISPOSE_PRIVATE_AR]="loop_cuda_dispose_private_array";
name_dvm[GET_WARP_SIZE] = "dvmh_get_warp_size";

View File

@@ -336,5 +336,6 @@ enum {
GET_MAX_BLOCKS, GET_MAX_BLOCKS,
GET_PRIVATE_ARR, GET_PRIVATE_ARR,
DISPOSE_PRIVATE_AR, DISPOSE_PRIVATE_AR,
GET_WARP_SIZE,
MAX_LIBFUN_NUM MAX_LIBFUN_NUM
}; };

View File

@@ -784,7 +784,8 @@ int kind;
else return (var_sym_entry); else return (var_sym_entry);
} }
case FUNCTION_NAME: case FUNCTION_NAME:
var_sym_entry->variant = FUNCTION_NAME; if (type != TYNULL)
var_sym_entry->type = type;
return (var_sym_entry); return (var_sym_entry);
case ROUTINE_NAME: case ROUTINE_NAME:
var_sym_entry->variant = FUNCTION_NAME; var_sym_entry->variant = FUNCTION_NAME;

View File

@@ -43,22 +43,22 @@ ${PROGRAM}: config
fi fi
MPI_VER: $(OBJS) $(OBJS_MPI) 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) 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) 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) 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) 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 %.o: %.fdv npbparams.h header3d.h
${F77} ${FFLAGS} -c -o $@ $< ${F77} f ${FFLAGS} -c -o $@ $<
clean: clean:
rm -f npbparams.h rm -f npbparams.h

View File

@@ -10,10 +10,12 @@ SOURCES = cg.fdv
OBJS = ${SOURCES:.fdv=.o} OBJS = ${SOURCES:.fdv=.o}
${PROGRAM}: config $(OBJS) ${PROGRAM}: config $(OBJS)
${FLINK} -o ${PROGRAM} ${OBJS} ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS}
%.o: %.fdv npbparams.h globals.h cg.o: cg.fdv npbparams.h globals.h
${F77} ${FFLAGS} -dvmIrregAnalysis -c -o $@ $< ${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: clean:
rm -f npbparams.h rm -f npbparams.h

View File

@@ -10,10 +10,10 @@ SOURCES = ep.fdv
OBJS = ${SOURCES:.fdv=.o} OBJS = ${SOURCES:.fdv=.o}
${PROGRAM}: config $(OBJS) ${PROGRAM}: config $(OBJS)
${FLINK} -o ${PROGRAM} ${OBJS} ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS}
%.o: %.fdv npbparams.h %.o: %.fdv npbparams.h
${F77} ${FFLAGS} -c -o $@ $< ${F77} f ${FFLAGS} -c -o $@ $<
clean: clean:
rm -f npbparams.h rm -f npbparams.h

View File

@@ -10,10 +10,10 @@ SOURCES = ft.fdv
OBJS = ${SOURCES:.fdv=.o} OBJS = ${SOURCES:.fdv=.o}
${PROGRAM}: config $(OBJS) ${PROGRAM}: config $(OBJS)
${FLINK} -o ${PROGRAM} ${OBJS} ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS}
%.o: %.fdv npbparams.h global.h %.o: %.fdv npbparams.h global.h
${F77} ${FFLAGS} -f90 -c -o $@ $< ${F77} f ${FFLAGS} -f90 -c -o $@ $<
clean: clean:
rm -f npbparams.h rm -f npbparams.h

View File

@@ -1796,7 +1796,7 @@ subroutine print_results(name, class, n1, n2, n3, niter, t, mops, optype, verifi
parameter(d2m46=0.5d0**46) parameter(d2m46=0.5d0**46)
save i246m1 save i246m1
data i246m1/X'00003FFFFFFFFFFF'/ data i246m1/Z'00003FFFFFFFFFFF'/
Lx = X Lx = X
La = A La = A
@@ -1819,7 +1819,7 @@ subroutine vranlc (N, X, A, Y)
parameter(d2m46=0.5d0**46) parameter(d2m46=0.5d0**46)
save i246m1 save i246m1
data i246m1/X'00003FFFFFFFFFFF'/ data i246m1/Z'00003FFFFFFFFFFF'/
Lx = X Lx = X
La = A La = A

View File

@@ -16,10 +16,10 @@ ${PROGRAM}: config
${MAKE} exec ${MAKE} exec
exec: $(OBJS) exec: $(OBJS)
${FLINK} ${FLINKFLAGS} -o ${PROGRAM} ${OBJS} ${F_LIB} ${FLINK} flink -shared-dvm ${FLINKFLAGS} -o ${PROGRAM} ${OBJS} ${F_LIB}
.f.o : .f.o :
${F77} ${FFLAGS} -c -o $@ $< ${F77} f ${FFLAGS} -c -o $@ $<
lu.o: lu.f applu.incl npbparams.h lu.o: lu.f applu.incl npbparams.h
erhs.o: erhs.f applu.incl npbparams.h erhs.o: erhs.f applu.incl npbparams.h

View File

@@ -20,10 +20,10 @@ SOURCES = mg.fdv \
OBJS = ${SOURCES:.fdv=.o} OBJS = ${SOURCES:.fdv=.o}
${PROGRAM}: config $(OBJS) ${PROGRAM}: config $(OBJS)
${FLINK} -o ${PROGRAM} ${OBJS} ${FLINK} flink -shared-dvm -o ${PROGRAM} ${OBJS}
%.o: %.fdv npbparams.h globals.h dvmvars.h %.o: %.fdv npbparams.h globals.h dvmvars.h
${F77} ${FFLAGS} -c -o $@ $< ${F77} f ${FFLAGS} -c -o $@ $<
clean: clean:
rm -f npbparams.h rm -f npbparams.h

View File

@@ -30,13 +30,13 @@ ${PROGRAM}: config
fi fi
MPI_VER: $(OBJS) $(OBJS_MPI) 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) 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 %.o: %.for npbparams.h header.h
${F77} ${FFLAGS} -c -o $@ $< ${F77} f ${FFLAGS} -c -o $@ $<
clean: clean:
rm -f npbparams.h rm -f npbparams.h

View File

@@ -1,5 +1,5 @@
F77 = dvm f -shared-dvm F77 = dvm
FLINK = dvm flink -shared-dvm FLINK = dvm
FFLAGS = ${FOPT} FFLAGS = ${FOPT}

View File

@@ -84,6 +84,10 @@ void Sleep(int millisec) { usleep(millisec * 2000); }
#endif #endif
#define __print(prefix, format, ...) do { } while (0)
#define __print_log(file, format, ...) do { } while (0)
/*
#define __print(prefix, format, ...) do {\ #define __print(prefix, format, ...) do {\
printf((string("%s: ") + format + string("\n")).c_str(), prefix, ##__VA_ARGS__); \ printf((string("%s: ") + format + string("\n")).c_str(), prefix, ##__VA_ARGS__); \
fflush(NULL); \ fflush(NULL); \
@@ -98,10 +102,10 @@ void Sleep(int millisec) { usleep(millisec * 2000); }
fflush(file); \ fflush(file); \
} \ } \
} while (0) } while (0)
*/
#define SERV "[SERVER]" #define SERV "[SERVER]"
static const char* VERSION = "9"; static const char* VERSION = "10";
static FILE* logFile = NULL; static FILE* logFile = NULL;
extern void __bst_create(const char* name); 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(SERV, "Invalid SAPFOR socket, try to restart");
__print_log(logFile, "invalid SAPFOR socket, try to restart"); __print_log(logFile, "invalid SAPFOR socket, try to restart");
Sleep(500); Sleep(100);
} }
__bst_unlock(); __bst_unlock();

View File

@@ -1,3 +1,3 @@
#pragma once #pragma once
#define VERSION_SPF "2382" #define VERSION_SPF "2383"

View File

@@ -54,7 +54,10 @@ static FILE* logFile = NULL;
#define FILE_LOG "Components/Sapfor_log.txt" #define FILE_LOG "Components/Sapfor_log.txt"
#endif #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__); \ printf((string("%s: ") + format + string("\n")).c_str(), prefix, ##__VA_ARGS__); \
fflush(NULL); \ fflush(NULL); \
} while (0) } while (0)
@@ -68,7 +71,7 @@ static FILE* logFile = NULL;
fflush(file); \ fflush(file); \
} \ } \
} while (0) } while (0)
*/
#define CLIENT "[SAPFOR]" #define CLIENT "[SAPFOR]"
static int doRecv(SOCKET& soc, string& command) static int doRecv(SOCKET& soc, string& command)
@@ -302,7 +305,7 @@ static int send(SOCKET& client, const wstring& messageIn)
char buf; char buf;
recv(client, &buf, 1, 0); recv(client, &buf, 1, 0);
printf("%s: send start\n", CLIENT); __print(CLIENT, "send start\n", CLIENT);
auto timeForPass = high_resolution_clock::now(); auto timeForPass = high_resolution_clock::now();
#ifdef _WIN32 #ifdef _WIN32
err = send(client, result.c_str(), result.size(), 0); err = send(client, result.c_str(), result.size(), 0);
@@ -311,9 +314,7 @@ static int send(SOCKET& client, const wstring& messageIn)
#endif #endif
const float elapsed = duration_cast<milliseconds>(high_resolution_clock::now() - timeForPass).count() / 1000.; const float elapsed = duration_cast<milliseconds>(high_resolution_clock::now() - timeForPass).count() / 1000.;
printf("%s: send end with time %f sec\n", CLIENT, elapsed); __print(CLIENT, "send end with time %f sec\n", elapsed);
fflush(NULL);
__print(CLIENT, "Send message with size %d", (int)result.size()); __print(CLIENT, "Send message with size %d", (int)result.size());
if (err != result.size()) if (err != result.size())