singa icon indicating copy to clipboard operation
singa copied to clipboard

Make singa-cpu runnable on Ubuntu 24.04

Open tinyAdapter opened this issue 1 year ago • 0 comments

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.

tinyAdapter avatar Nov 21 '24 12:11 tinyAdapter