# gpaw dockerfile(singurality可用) 1. 安裝完成後,進入容器後先 `source /etc/profile` => 讀取gpaw 路徑 3. 執行gpaw `gpaw -P 8 python test.py` ``` FROM centos:7 MAINTAINER gpaw WORKDIR / RUN yum install -y git which vim epel-release centos-release-scl python-pip \ zlib-devel bzip2-devel openssl-devel \ ncurses-devel sqlite-devel readline-devel tk-devel \ gcc make libffi-devel wget \ openblas-devel openmpi-devel fftw-devel \ blacs-openmpi-devel scalapack-openmpi-devel blas-devel && \ mkdir -p pyth libxc && \ wget --content-disposition http://www.tddft.org/programs/libxc/down.php?file=4.3.4/libxc-4.3.4.tar.gz && \ tar xzf libxc-4.3.4.tar.gz && \ cd /libxc-4.3.4/ ENV MYLIBXCDIR=/libxc \ PYTHONUSERBASE=/pyth \ CFLAGS="-O3 -fPIC" RUN cd /libxc-4.3.4/ && \ ./configure --prefix=/libxc/4.3.4 && \ make && make install ENV CPATH=$CPATH:/libxc/4.3.4/include \ LIBRARY_PATH=$LIBRARY_PATH:/libxc/4.3.4/lib \ PATH=/usr/lib64/openmpi/bin/:$PATH \ LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:$LD_LIBRARY_PATH \ LC_CTYPE=en_US.UTF-8 RUN cd / && \ wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz && \ tar Jxvf Python-3.7.3.tar.xz && \ cd /Python-3.7.3 && \ ./configure prefix=/usr/local/python3 && \ make && make install RUN cd / && \ ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3 && \ ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 && \ yum install -y openblas-devel openmpi-devel fftw-devel \ blacs-openmpi-devel scalapack-openmpi-devel blas-devel && \ pip3 install --upgrade pip && \ python3 -m pip install ase --user && \ git clone -b 21.1.0 https://gitlab.com/gpaw/gpaw.git && \ cd gpaw && \ echo "fftw=True" >> siteconfig.py && \ echo "scalapack=True" >> siteconfig.py && \ echo "libraries=['xc','fftw3','scalapack','mpiblacs']" >> siteconfig.py && \ echo "library_dirs=['/usr/lib64/openmpi/lib/']" >> siteconfig.py ENV GPAW_CONFIG=/gpaw/siteconfig.py RUN python3 -m pip install -v gpaw --user && \ echo 'export PATH=/pyth/bin/:$PATH' >> /etc/profile && \ source /etc/profile && \ cd /gpaw && \ wget https://wiki.fysik.dtu.dk/gpaw-files/gpaw-setups-0.9.20000.tar.gz && \ tar xzf gpaw-setups-0.9.20000.tar.gz && \ rm -f gpaw-setups-0.9.20000.tar.gz ENV GPAW_SETUP_PATH=/gpaw/gpaw-setups-0.9.20000 CMD ["/bin/bash"] ```