IntelLabs / ParallelAccelerator.jl

The ParallelAccelerator package, part of the High Performance Scripting project at Intel Labs
BSD 2-Clause "Simplified" License
294 stars 32 forks source link

Warning and errors occur in Pkg.test("ParallelAccelerator") #111

Closed jihoonseo closed 7 years ago

jihoonseo commented 8 years ago

Hi

1) I updated the Julia v0.4 to the latest master:

julia$ git pull
julia$ make -j 8
# `make` process did not happen. It seems that I am already with the latest mater.

2) I updated and tested ParallelAccelerator:

Pkg.checkout("ParallelAccelerator") # passed with no error
Pkg.checkout("CompilerTools") # passed with no error
Pkg.build("ParallelAccelerator") # passed with no error
Pkg.test("CompilerTools") # passed with no error

FYI: For now, the latest master of ParallelAccelerator is 1a5cbddf48194694b5ac3901ff0da846c4e56fdd


after these, `Pkg.test("ParallelAccelerator") gives 1 warning and 2 errors:

... Testing println()... Done testing println(). # passed with no error

Testing strings... WARNING: Base.String is deprecated, use AbstractString instead. likely near /home/jhseo/.julia/v0.4/ParallelAccelerator/test/strings.jl:86 WARNING: Base.String is deprecated, use AbstractString instead. likely near /home/jhseo/.julia/v0.4/ParallelAccelerator/test/strings.jl:86 WARNING: Base.String is deprecated, use AbstractString instead. likely near /home/jhseo/.julia/v0.4/ParallelAccelerator/test/strings.jl:86 WARNING: Base.String is deprecated, use AbstractString instead. likely near /home/jhseo/.julia/v0.4/ParallelAccelerator/test/strings.jl:86 WARNING: Base.String is deprecated, use AbstractString instead. likely near /home/jhseo/.julia/v0.4/ParallelAccelerator/test/strings.jl:86 WARNING: Base.String is deprecated, use AbstractString instead. likely near /home/jhseo/.julia/v0.4/ParallelAccelerator/test/strings.jl:86 in typeToStr at /home/jhseo/.julia/v0.4/ParallelAccelerator/src/cgen.jl WARNING: Base.String is deprecated, use AbstractString instead. likely near /home/jhseo/.julia/v0.4/ParallelAccelerator/test/strings.jl:86 in typeToStr at /home/jhseo/.julia/v0.4/ParallelAccelerator/src/cgen.jl WARNING: Base.String is deprecated, use AbstractString instead. likely near /home/jhseo/.julia/v0.4/ParallelAccelerator/test/strings.jl:86 in typeToStr at /home/jhseo/.julia/v0.4/ParallelAccelerator/src/cgen.jl /tmp/tmpj4REOy/cgen_output58.cpp:18:254: warning: integer constant is so large that it is unsigned static uint64_t _Base_powers_often[20] = {1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000,10000000000,100000000000,1000000000000,10000000000000,100000000000000,1000000000000000,10000000000000000,100000000000000000,1000000000000000000,10000000000000000000} ^ (<- In the Julia console, this hat is pointing the right-est 1) Done testing strings...

Testing logistic regression... Done testing logistic regression... # passed with no error

testing gemv... Done testing gemv. # passed with no error

testing transpose... /tmp/tmpNdlDZF/cgen_output62.cpp: In function ‘void pptranspose_tp18631(j2c_array&, j2carray)’: /tmp/tmpNdlDZF/cgen_output62.cpp:28:71: error: ‘cgen_domatcopy’ was not declared in this scope A.data, A.ARRAYSIZE(1), ppppBp17359p18632.data, A.ARRAYSIZE(2)), ppppBp17 ^ (<- In the Julia console, this hat is pointing the right parenthesis) /tmp/tmpNdlDZF/cgen_output62.cpp: In function ‘void pptranspose_tp18631_unaliased(j2c_array&, j2carray)’: /tmp/tmpNdlDZF/cgen_output62.cpp:43:71: error: ‘cgen_domatcopy’ was not declared in this scope A.data, A.ARRAYSIZE(1), ppppBp17359p18632.data, A.ARRAYSIZE(2)), ppppBp17 ^ (<- In the Julia console, this hat is pointing the right parenthesis) OptFramework failed to optimize function TestTranspose.##transpose_t#18631 in optimization pass ParallelAccelerator.Driver.toCGen with error ErrorException("failed process: Process(g++ -O3 -fopenmp -std=c++11 -g -fpic -c -o /tmp/tmpNdlDZF/cgen_output62.o /tmp/tmpNdlDZF/cgen_output62.cpp, ProcessExited(1)) [1]") Done testing transpose.

testing vecnorm... Done testing vecnorm. # passed with no error ...

I would appreciate your comments.


FYI:

1) In CGen-generated C code for testing Strings, line 18:

static uint64_t _Base_powers_of_ten_[20] = {1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000,10000000000,100000000000,1000000000000,10000000000000,100000000000000,1000000000000000,10000000000000000,100000000000000000,1000000000000000000,10000000000000000000};

2) In CGen-generated C code for testing transpose, function that contains line 28:

void pptranspose_tp18631( j2c_array< double > &  A,  j2c_array< double >  * __restrict ret0)
{
        j2c_array< double >  ppppBp17359p18632;
        int64_t GenSym1;
        int64_t GenSym2;
        j2c_array< double >  GenSym0;
        GenSym1 = A.ARRAYSIZE(2);
        GenSym2 = A.ARRAYSIZE(1);
        ppppBp17359p18632 = j2c_array<double>::new_j2c_array_2d(NULL, GenSym1, GenSym2);
        GenSym0 = (cgen_domatcopy(A.ARRAYSIZE(1),A.ARRAYSIZE(2),
                                A.data, A.ARRAYSIZE(1), ppppBp17359p18632.data, A.ARRAYSIZE(2)), ppppBp17359p18632);
        *ret0 = GenSym0;
        return;

}

3) In CGen-generated C code for testing transpose, function that contains line 43:

void pptranspose_tp18631_unaliased( j2c_array< double > & __restrict A,  j2c_array< double >  * __restrict ret0)
{
        j2c_array< double >  ppppBp17359p18632;
        int64_t GenSym1;
        int64_t GenSym2;
        j2c_array< double >  GenSym0;
        GenSym1 = A.ARRAYSIZE(2);
        GenSym2 = A.ARRAYSIZE(1);
        ppppBp17359p18632 = j2c_array<double>::new_j2c_array_2d(NULL, GenSym1, GenSym2);
        GenSym0 = (cgen_domatcopy(A.ARRAYSIZE(1),A.ARRAYSIZE(2),
                                A.data, A.ARRAYSIZE(1), ppppBp17359p18632.data, A.ARRAYSIZE(2)), ppppBp17359p18632);
        *ret0 = GenSym0;
        return;

}
ninegua commented 8 years ago

I can't reproduce the errors with latest Julia 0.4. Are you tracking origin/release-0.4 branch? I just tested with Julia Version 0.4.7-pre+5, all ParallelAccelerator tests seem to work fine.

The warning messages are mostly because we have to maintain compatibility with both Julia 0.4 and the upcoming 0.5. We can't do much about deprecated messages for the String thing, because in 0.5 there is no more ASCIIString, and String becomes the way to go.

DrTodd13 commented 8 years ago

Can you try again and see if the transpose error is gone?

jihoonseo commented 8 years ago

Sorry for my late reply.


Sorry, but how can I get Julia 0.4.7-pre+5 ?

I follow these steps but I got 0.4.7-pre+3, and the transpose error is not gone.

jhseo@u1604d:~/julia$ git reset --hard
jhseo@u1604d:~/julia$ git clean -x -f -d

jhseo@u1604d:~/julia$ git pull
Already up-to-date.

jhseo@u1604d:~/julia$ git status
On branch release-0.4
Your branch is up-to-date with 'origin/release-0.4'.
nothing to commit, working directory clean

jhseo@u1604d:~/julia$ make -j 8

jhseo@u1604d:~/julia$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.7-pre+3 (2016-07-10 08:08 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit eb322c0 (23 days old release-0.4)
|__/                   |  x86_64-linux-gnu

julia> 

Thank you.

lkuper commented 7 years ago

I've filed a separate issue (#147) for the transpose test failure, which is still present under newer Julia and ParallelAccelerator versions. I'm going to go ahead and close this old issue.