Ubuntu 19 build error

Hi MRTrixler,

I need to install MRTrix on an new maschine with k80 GPUs. Its Ubuntu 19 Terminal Version.
I encountered this Error. Any Ideas? FSL and other dependencies work fine.

I hope you have an idea,

Yours,

Ralf

(166/329) [CC] tmp/cmd/transformconvert.o
ERROR: ( 43/329) [CC] tmp/cmd/mraverageheader.o
ERROR: ( 35/329) [CC] tmp/cmd/dwi2fod.o

ERROR: ( 43/329) [CC] tmp/cmd/mraverageheader.o

g++ -c -std=c++11 -DMRTRIX_BUILD_TYPE="release version" -pthread -fPIC -DMRTRIX_WORD64 -DMRTRIX_TIFF_SUPPORT -idirafter /usr/include/x86_64-linux-gnu -DEIGEN_FFTW_DEFAULT -Wall -O3 -DNDEBUG -Isrc -I./core -Icmd -idirafter /usr/include/eigen3 -DEIGEN_DONT_PARALLELIZE cmd/mraverageheader.cpp -o tmp/cmd/mraverageheader.o

failed with output

g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.

ERROR: ( 35/329) [CC] tmp/cmd/dwi2fod.o

g++ -c -std=c++11 -DMRTRIX_BUILD_TYPE="release version" -pthread -fPIC -DMRTRIX_WORD64 -DMRTRIX_TIFF_SUPPORT -idirafter /usr/include/x86_64-linux-gnu -DEIGEN_FFTW_DEFAULT -Wall -O3 -DNDEBUG -Isrc -I./core -Icmd -idirafter /usr/include/eigen3 -DEIGEN_DONT_PARALLELIZE cmd/dwi2fod.cpp -o tmp/cmd/dwi2fod.o

failed with output

g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.

This typically indicates an out of memory problem. Details and suggested solution in the troubleshooting section of the docs.

Thanks for the quick answer,
I try the:
NUMBER_OF_PROCESSORS=1 ./build

thing.
But I think that shouldnt be the problem, because the machine has 24 GB RAM. I monitor it and return to tell you.

Yours,

Ralf

It depends on the number of threads you’re running concurrently. You probably need around 1GB RAM per thread to be safe, but it depends on whether you’re unlucky enough to have all the memory-hungry jobs running concurrently.

But if you have 24 GB RAM, I’d go with:

NUMBER_OF_PROCESSORS=24 ./build

Hii Donald,

thanks for the help. It worked. I didnt try the 24, but will by the next chance.
One hint: I had to ./configure again… before the build.

The K80 Tesla is running fine with the eddycuda on Ubuntu 19 with cuda 9.1 !
Is there any other way to speed up? Not that its necessary… just because we can.

Ralf

You could try whether running multiple (2-5) eddy_cuda in parallel (for instance via foreach) is possible and faster than running them sequentially for multiple subjects. In my experience on a GTX titan, running 2-3 eddy_cuda in parallel yielded some speed benefits. The more likely bottleneck will, however, be topup.

Good idea. I will definitly try this. Thanks.
Are there something like dwi2fod idea for speeding up or any other parts?
I am at 6 to 8 hours per subject with all the stuff… whole brain tract… and so on… :slight_smile:

Just for information. The K80 Tesla nvidia run as vGPU… and it woks fine after some minor problems.
Now… everybody here can use the K80s or other cards with MRTrix and FSL without having them in the Desktop physically.

Thanks for your help…

Is there any other way to speed up? Not that its necessary… just because we can.
Are there something like dwi2fod idea for speeding up or any other parts?

I think what you’re hinting at here is “will MRtrix3 commands be implemented in e.g. CUDA to run on GPUs?” Unfortunately we simply don’t have the resources to commit to something like that; it’s a lot of development time that doesn’t actually enhance the capabilities of the software.