DIDSR / VICTRE

Virtual Imaging Clinical Trial for Regulatory Evaluation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Installation problem of new environment(ubuntu20.04...)

gagabom opened this issue · comments

Hello, Thank you for sharing this interesting project!

I have installed the VICTRE pipeline using Ubuntu 16.04 and worked well.

But It doesn't work out in a new environment( Ubuntu 20.04, NVIDIA RTX 3090, Cuda 11.2, CuDNN 8.1.0).
Can I possibly get some help with this?

  1. How should I modify the vtk version in BreastPhantom and BreastCompress? Is vtk6 not available in Ubuntu 20.04?

  2. In X-ray imaging, the following error appeared.

MC-GPU_v1.5b.cu: In function ‘int main(int, char**)’:
MC-GPU_v1.5b.cu:1169:33: warning: ‘%04d’ directive writing between 4 and 10 bytes into a region of size between 3 and 252 [-Wformat-overflow=]
1169 | sprintf(file_name_output_num_p, "%s_%04d", file_name_output, num_p); // Create the output file name with the input name + projection number (4 digits, padding with 0)
| ^~~~~~~~~
MC-GPU_v1.5b.cu:1169:33: note: directive argument in the range [0, 2147483646]
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:31: note: ‘__builtin___sprintf_chk’ output between 6 and 261 bytes into a destination of size 253
36 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

could you give me some advice or any help?

Thanks & Regards,
Ahyeong Lee

Hi Ahyeong,

I hope our software works well for your application.

The BreastPhantom and BreastCompress programs were developed with the library versions listed in the documentation and we recommend that you use those versions. The program might work in other versions, but we do not have the resources to test the compilation in new versions of Linux. You could write a comment below if you figure out how to compile in Ubuntu 20.04, to help other users with the same problem.

It looks like the compilation message in MCGPU is a warning, not an error. I have not seen it before but it should not have any effect, as long as your file name is smaller than 250 characters. Probably the issue would be resolved if you change the code "char file_name_output_num_p[253];" to "char file_name_output_num_p[261];" in line 1162.

Best regards!

hello!

Thank you for your answers.

I installed breastPhantom and breastMass using a VICTRE_PIPELINE!

  1. breastCompress

1-1) But breastCompress doesn't work. (I have tried adding the Febio path using the -f flag and downloaded febio-2.9.1)
The error message is
sh: 1: /home/ay/FEBio-2.9.1: Permission denied
Generating voxelized compressed breast...
Cannot read FEBio output file

1-2) and when using febio-2.3.1, the following message came out.

Writing FEBio simulation file...
Running FEBio compression modeling...
Illegal instruction (core dumped)
Generating voxelized compressed breast...
Compressed breast thickness = 151 mm
Assigning Tissues
################################################################################
FINISHED MESHING ITERATION 3 of maximum 18
################################################################################
Total bytes read = 96593939

  1. MCGPU

2-1) Using VICTRE-MCGPU
After I changed the code in line 1162.
I ran the simulation and the error message came out.

!!WARNING!! The selected GPU is connected to a display and therefore CUDA driver will limit the kernel run time to 5 seconds and the simulation will likely fail!!
You can fix this by executing the simulation in a different GPU (select number in the input file) or by turning off the window manager and using the text-only Linux shell.

CUDA error at MC-GPU_v1.5b.cu:2990 code=13(cudaErrorInvalidSymbol) "cudaMemcpyToSymbol(voxel_data_CONST, voxel_data, sizeof(struct voxel_struct))"

2-2) Using VICTRE_PIPELINE
I ran the command in VICTRE automatic pipeline installation.( compile 4. MCGPU projection - select GPU architecture: 5. Ampere: RTX 30X0, RTX A6000, Tesla A100)

The error message came out. But the file is already installed in place.

compile with MPI support? (y/n): yIn file included from MC-GPU_v1.5b.cu:364:
./MC-GPU_v1.5b.h:110:12: fatal error: mpi.h: No such file or directory
110 | #include <mpi.h>
| ^~~~~~~
compilation terminated.

Can I get some help with this?

Kind regards.
Ahyeong Lee

Hi Ahyeong, sorry for the delay.

Let me try to help you.

1-1: It looks like FEBio has no executable permissions, make sure it has the correct chmod permissions (you can do chmod o+rx on the folder and executable file where you have FEBio)

1-2: Here at least it looks like it finds the executable but it fails, could it be an out of memory issue? FEBio uses a lot of RAM memory depending on the phantom size, I recommend you try a smaller phantom (try the example on the VICTRE_PIPELINE, it is a very small phantom).

2-1: You will have to try this on a different GPU or disconnect the GPU from the monitor to log in via terminal. Give it a try on this code sample, it might help you set up your environment: https://colab.research.google.com/drive/1g8bwH_nuVRn3xJcoqP-zT7bz8kY4Nuqz?usp=sharing

2-2: Say no to compiling with MPI support and try again. It should at least compile. MPI is only needed if you have multiple GPUs in the same workstation.

I hope it helps!