singa
singa copied to clipboard
Make singa-cpu runnable on Ubuntu 24.04
This PR adds a new Dockerfile (tool/docker/devel/ubuntu/cpu/Dockerfile.ubuntu2404) that uses Ubuntu 24.04 as the basis to build and run SINGA CPU version. It also upgrades some package dependencies, such as
- python 3.12
- libprotobuf-dev 3.21.12
- libgoogle-glog-dev 0.6.0
- libopenblas-dev 0.3.26
- numpy 1.26.4
Since Python and some packages have removed deprecated interfaces, I added version guards to some imports to restore their normal functionality.
To reflect the current code into the Docker image, run
docker build --tag singa-devel -f tool/docker/devel/ubuntu/cpu/Dockerfile.ubuntu2404 .
docker run -it --name singa-devel -v $PWD:/root/singa singa-devel
# (in a new terminal)
docker exec -it singa-devel bash
cd /root/singa
rm -f include/singa/singa_config.h
mkdir build && cd build
cmake -DENABLE_TEST=ON -DUSE_PYTHON3=ON -DUSE_DNNL=ON .. && make -j && make install
cd ~/singa && python3 setup.py install
# test
cd build ; ./bin/test_singa ; cd ..
cd test/python ; python3 run.py ; cd ../..
All C++ tests passed. For tests of the Python wrapper, only those related to ONNX failed, but I suspect that they might fail before upgrading, since the setup.py indicates onnx 1.15 as a dependency rather than 1.6.