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