Hello BraTS team,
We created our docker image from an Nvidia base image. The docker image was built and tested locally on our computer, but we have the following issue.
- If we run the docker with the script provided by BraTS wiki:
docker run -it --rm --gpus device=0 --name test_brats -v "yourinputfolder":"/input" \-v "youroutputfolder":"/output" yourapplicationimage
- Then we have the following runtime error (basically not sufficient default shared memory):
"ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm)."
- So far, our solution is to add the --runtime=nvidia --ipc=host tags
I think you will only call docker run not nvidia-docker run or add --runtime tags on your back-end.
The problem remains the same, so how can we add tags to the docker run or more generally how can we impose nvidia runtime?
Thank you very much for your help!
Best,
Zjiang
Created by Zhifan Jiang zjiang Hi @zjiang ,
Thank you for providing your debugging steps! The Docker run command used is something like this:
```bash
docker run --rm \
--network none \
--runtime="nvidia" \
-v /path/to/input:/input:ro \
-v /path/to/output:/output:rw \
{docker image}
```
where the mounted input directory (`/path/to/input`) is one of the case folders, e.g. **BraTS2021_00001**. This would mean that in your container, `/input` would contain the 4 files:
- BraTS2021_ID_flair.nii.gz
- BraTS2021_ID_t1.nii.gz
- BraTS2021_ID_t1ce.nii.gz
- BraTS2021_ID_t2.nii.gz
Another fellow participant had also encountered your error of insufficient shared memory, and he provided a workaround [here](https://www.synapse.org/#!Synapse:syn25829067/discussion/threadId=8392). Maybe this can help? Otherwise, please let us know the amount of shared memory size your model requires.