Project build fail on sc16-sgd branch
Opened this issue · 0 comments
KevinLikesDringCoffe commented
Hi, I'm trying to build the sc16-sgd branch as a CP-SGD benchmark. But the make stage failed with the following error. I'm using cmake version 3.24.0-rc3, icc and icpc version 2021.6.0.
make -C build/Linux-x86_64 all
make[1]: Entering directory '/home/zywu/bench/splatt/build/Linux-x86_64'
make[2]: Entering directory '/home/zywu/bench/splatt/build/Linux-x86_64'
make[3]: Entering directory '/home/zywu/bench/splatt/build/Linux-x86_64'
make[3]: Leaving directory '/home/zywu/bench/splatt/build/Linux-x86_64'
make[3]: Entering directory '/home/zywu/bench/splatt/build/Linux-x86_64'
[ 1%] Building C object lib/CMakeFiles/splatt.dir/__/src/base.c.o
icc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
[ 3%] Building C object lib/CMakeFiles/splatt.dir/__/src/bench.c.o
icc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
[ 5%] Building CXX object lib/CMakeFiles/splatt.dir/__/src/bfs.cc.o
icpc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
[ 6%] Building C object lib/CMakeFiles/splatt.dir/__/src/ccp/ccp.c.o
icc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
[ 8%] Building C object lib/CMakeFiles/splatt.dir/__/src/completion/als.c.o
icc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
remark #11074: Inlining inhibited by limit max-size
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
[ 10%] Building C object lib/CMakeFiles/splatt.dir/__/src/completion/ccd.c.o
icc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
/home/zywu/bench/splatt/src/completion/ccd.c(153): warning #191: type qualifier is meaningless on cast type
mats[m] = (val_t const * restrict) model->factors[csf->dim_perm[m]] +
^
/home/zywu/bench/splatt/src/completion/ccd.c(294): warning #191: type qualifier is meaningless on cast type
mats[m] = (val_t const * const restrict) model->factors[csf->dim_perm[m]] +
^
/home/zywu/bench/splatt/src/completion/ccd.c(418): warning #191: type qualifier is meaningless on cast type
mats[m] = (val_t const * const restrict) model->factors[csf->dim_perm[m]] +
^
/home/zywu/bench/splatt/src/completion/ccd.c(551): warning #191: type qualifier is meaningless on cast type
mats[m] = (val_t const * const restrict) model->factors[csf->dim_perm[m]] +
^
remark #11074: Inlining inhibited by limit max-size
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
[ 11%] Building CXX object lib/CMakeFiles/splatt.dir/__/src/completion/completion.cc.o
icpc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
[ 13%] Building C object lib/CMakeFiles/splatt.dir/__/src/completion/gd.c.o
icc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
[ 15%] Building C object lib/CMakeFiles/splatt.dir/__/src/completion/gradient.c.o
icc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
remark #11074: Inlining inhibited by limit max-size
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
[ 16%] Building C object lib/CMakeFiles/splatt.dir/__/src/completion/lbfgs.c.o
icc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
[ 18%] Building C object lib/CMakeFiles/splatt.dir/__/src/completion/liblbfgs/lbfgs.c.o
icc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
[ 20%] Building C object lib/CMakeFiles/splatt.dir/__/src/completion/nlcg.c.o
icc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
[ 21%] Building CXX object lib/CMakeFiles/splatt.dir/__/src/completion/sgd.cc.o
icpc: command line remark #10412: option '-mkl' is deprecated and will be removed in a future release. Please use the replacement option '-qmkl'
/home/zywu/bench/splatt/src/completion/sgd.cc(2315): error: identifier "sgd_comm_t" is undefined
sgd_comm_t * sgd_comm,
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2315): error: identifier "sgd_comm" is undefined
sgd_comm_t * sgd_comm,
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2316): error: type name is not allowed
tc_model const * const model,
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2316): error: too many initializer values
tc_model const * const model,
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2316): error: expected a ")"
tc_model const * const model,
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2318): error: expected a ";"
{
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2325): error: this pragma must immediately precede a statement
#pragma omp parallel reduction(+:reg_obj)
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2335): error: this pragma must immediately precede a statement
#pragma omp for schedule(static) nowait
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2340): warning #12: parsing restarts here after previous syntax error
reg_obj += ws->regularization[m] * accum;
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2341): error: expected a declaration
}
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2344): warning #12: parsing restarts here after previous syntax error
MPI_Allreduce(MPI_IN_PLACE, ®_obj, 1, SPLATT_MPI_VAL, MPI_SUM, MPI_COMM_WORLD);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2346): error: expected an identifier
assert(reg_obj > 0);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2346): error: expected a type specifier
assert(reg_obj > 0);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2347): error: expected a declaration
return reg_obj;
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2348): error: expected a declaration
}
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2373): warning #12: parsing restarts here after previous syntax error
sizeof(val_t)*nlocalrow*nfactors);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2375): error: expected a declaration
for(int p=0; p < rinfo->layer_size[m]; ++p) {
^
/home/zywu/bench/splatt/src/completion/sgd.cc(2377): error: this pragma must immediately precede a statement
#pragma omp parallel for
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3194): warning #12: parsing restarts here after previous syntax error
splatt_csf *csf = NULL;
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3197): error: expected a declaration
if(ws->csf) {
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3221): warning #12: parsing restarts here after previous syntax error
val_t loss = tc_loss_sq(train, model, ws);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3222): error: identifier "model" is undefined
val_t frobsq = tc_frob_sq(model, ws);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3222): error: identifier "ws" is undefined
val_t frobsq = tc_frob_sq(model, ws);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3223): error #77: this declaration has no storage class or type specifier
tc_converge(train, validate, model, loss, frobsq, 0, ws);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3223): error: declaration is incompatible with "bool splatt_tc_converge(const sptensor_t *, const sptensor_t *, const tc_model *, splatt_val_t={double}, splatt_val_t={double}, splatt_idx_t={uint64_t={__uint64_t={unsigned long}}}, tc_ws *)" (declared at line 377 of "/home/zywu/bench/splatt/src/completion/completion.h")
tc_converge(train, validate, model, loss, frobsq, 0, ws);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3223): error: identifier "train" is undefined
tc_converge(train, validate, model, loss, frobsq, 0, ws);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3223): error: identifier "validate" is undefined
tc_converge(train, validate, model, loss, frobsq, 0, ws);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3223): error: identifier "loss" is undefined
tc_converge(train, validate, model, loss, frobsq, 0, ws);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3223): error: too many initializer values
tc_converge(train, validate, model, loss, frobsq, 0, ws);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3229): error #77: this declaration has no storage class or type specifier
timer_start(&ws->tc_time);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3229): error: declaration is incompatible with "void timer_start(sp_timer_t *)" (declared at line 132 of "/home/zywu/bench/splatt/src/completion/../timer.h")
timer_start(&ws->tc_time);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3232): error: expected a declaration
for(e=1; e < ws->max_its+1; ++e) {
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3243): error: this pragma must immediately precede a statement
#pragma omp parallel for
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3253): error: this pragma must immediately precede a statement
#pragma omp parallel for
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3259): warning #12: parsing restarts here after previous syntax error
timer_stop(&ws->train_time);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3262): error #77: this declaration has no storage class or type specifier
timer_start(&ws->test_time);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3262): error: variable "timer_start" has already been defined
timer_start(&ws->test_time);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3263): error #77: this declaration has no storage class or type specifier
loss = tc_loss_sq(train, model, ws);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3264): error #77: this declaration has no storage class or type specifier
frobsq = tc_frob_sq(model, ws);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3264): error: variable "frobsq" has already been defined
frobsq = tc_frob_sq(model, ws);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3265): error #77: this declaration has no storage class or type specifier
obj = loss + frobsq;
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3265): error: variable "obj" has already been defined
obj = loss + frobsq;
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3266): error: expected a declaration
if(tc_converge(train, validate, model, loss, frobsq, e, ws)) {
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3270): warning #12: parsing restarts here after previous syntax error
timer_stop(&ws->test_time);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3273): error: expected a declaration
if(e > 1) {
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3281): warning #12: parsing restarts here after previous syntax error
prev_obj = obj;
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3282): error: expected a declaration
}
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3285): error #77: this declaration has no storage class or type specifier
printf(" update_time %g (%g)\n", (ws->train_time.seconds - ws->shuffle_time.seconds), (ws->train_time.seconds - ws->shuffle_time.seconds)/e);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3285): error: declaration is incompatible with "int printf(const char *, ...)" (declared at line 318 of "/usr/include/stdio.h")
printf(" update_time %g (%g)\n", (ws->train_time.seconds - ws->shuffle_time.seconds), (ws->train_time.seconds - ws->shuffle_time.seconds)/e);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3285): error: too many initializer values
printf(" update_time %g (%g)\n", (ws->train_time.seconds - ws->shuffle_time.seconds), (ws->train_time.seconds - ws->shuffle_time.seconds)/e);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3285): error: a value of type "const char *" cannot be used to initialize an entity of type "int"
printf(" update_time %g (%g)\n", (ws->train_time.seconds - ws->shuffle_time.seconds), (ws->train_time.seconds - ws->shuffle_time.seconds)/e);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3286): error #77: this declaration has no storage class or type specifier
printf(" shuffle_time %g (%g)\n", ws->shuffle_time.seconds, ws->shuffle_time.seconds/e);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3286): error: variable "printf" has already been defined
printf(" shuffle_time %g (%g)\n", ws->shuffle_time.seconds, ws->shuffle_time.seconds/e);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3286): error: too many initializer values
printf(" shuffle_time %g (%g)\n", ws->shuffle_time.seconds, ws->shuffle_time.seconds/e);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3286): error: a value of type "const char *" cannot be used to initialize an entity of type "int"
printf(" shuffle_time %g (%g)\n", ws->shuffle_time.seconds, ws->shuffle_time.seconds/e);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3287): error #77: this declaration has no storage class or type specifier
printf(" test_time %g (%g)\n", ws->test_time.seconds, ws->test_time.seconds/e);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3287): error: variable "printf" has already been defined
printf(" test_time %g (%g)\n", ws->test_time.seconds, ws->test_time.seconds/e);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3287): error: too many initializer values
printf(" test_time %g (%g)\n", ws->test_time.seconds, ws->test_time.seconds/e);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3287): error: a value of type "const char *" cannot be used to initialize an entity of type "int"
printf(" test_time %g (%g)\n", ws->test_time.seconds, ws->test_time.seconds/e);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3295): error #77: this declaration has no storage class or type specifier
splatt_free(perm);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3295): error: declaration is incompatible with "void splatt_free(void *)" (declared at line 70 of "/home/zywu/bench/splatt/src/completion/../base.h")
splatt_free(perm);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3295): error: a value of type "splatt_idx_t={uint64_t={__uint64_t={unsigned long}}} *" cannot be used to initialize an entity of type "int"
splatt_free(perm);
^
/home/zywu/bench/splatt/src/completion/sgd.cc(3299): error: expected a declaration
}
^
compilation aborted for /home/zywu/bench/splatt/src/completion/sgd.cc (code 2)
lib/CMakeFiles/splatt.dir/build.make:243: recipe for target 'lib/CMakeFiles/splatt.dir/__/src/completion/sgd.cc.o' failed
make[3]: *** [lib/CMakeFiles/splatt.dir/__/src/completion/sgd.cc.o] Error 2
make[3]: Leaving directory '/home/zywu/bench/splatt/build/Linux-x86_64'
CMakeFiles/Makefile2:178: recipe for target 'lib/CMakeFiles/splatt.dir/all' failed
make[2]: *** [lib/CMakeFiles/splatt.dir/all] Error 2
make[2]: Leaving directory '/home/zywu/bench/splatt/build/Linux-x86_64'
Makefile:135: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/zywu/bench/splatt/build/Linux-x86_64'
Makefile:11: recipe for target 'all' failed
make: *** [all] Error 2
Seems there are some bugs with the code. How can I solve this problem?