项目安装步骤 - Docker
由于在不同操作系统(如Centos和MacOS)之间出现了一些库的不一致性,我们决定构建一个docker镜像并在容器内运行整个项目。Dockerfile(s)包含了所有必要的步骤。
系统先决条件:
- python
- docker
要通过docker编译和运行项目,请导航到项目的父目录,然后:
-
运行
chmod +x ./configure.sh && ./configure.sh
来配置metis fl项目。注意:我们在构建docker镜像之前运行上述命令,以配置所有项目依赖项。
-
为整个项目构建docker镜像。
- Ubuntu镜像(稳定,首选):
docker build -t projectmetis_ubuntu_22_04 -f DockerfileUbuntu .
- Ubuntu开发镜像(用于开发目的):
docker build -t projectmetis_dev -f DockerfileDev .
- RockyLinux镜像(不稳定):
docker build -t projectmetis_rockylinux_8 -f DockerfileRockyLinux .
以上任何镜像的大致大小(使用docker):~9GB(不含CUDA),~12GB(含CUDA)
- Ubuntu镜像(稳定,首选):
-
构建docker CUDA镜像(仅适用于Ubuntu和RockyLinux镜像)。
- Ubuntu + CUDA
cd docker_images/cuda/ubuntu/11.7 && docker build -t projectmetis_ubuntu_22_04_cuda -f Dockerfile .
- RockyLinux + CUDA
cd docker_images/cuda/rockylinux/11.3 && docker build -t projectmetis_rockylinux_8_cuda -f Dockerfile .
- 验证docker cuda驱动安装:
nvidia-docker run --rm --gpus all projectmetis_ubuntu_22_04_cuda nvidia-smi
- Ubuntu + CUDA
独立(无Docker)先决条件
- 安装googletest(MacOS:
brew install googletest
) - 安装protobuf(MacOS:
brew install protobuf
) - 运行./configure脚本
Bazel CLion 备注
如果项目文件无法识别,则需要同步Bazel。操作如下:
- 选择上方的Bazel选项卡
- 选择Sync子选项卡
- 然后点击Sync Project with BUILD Files