Skip to content

Project build fail on sc16-sgd branch #42

@KevinLikesDringCoffe

Description

@KevinLikesDringCoffe

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, &reg_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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions