in reply to Do you have AI::MXNet running?
* Enjoy. Also, I added PDL and PDL::Graphics::Gnuplot# syntax=docker/dockerfile:1 # vim: filetype=dockerfile # -*- mode: dockerfile -*- # # dockerfile to build working perl/mxnet with GPU support FROM nvidia/cuda:11.1.1-cudnn8-devel AS build WORKDIR /usr/src/mxnet RUN <<INSTALL_CPP apt update export DEBIAN_FRONTEND=noninteractive export TZ="Etc/UTC" apt install -y build-essential git libatlas-base-dev libopencv-dev pyt +hon3-opencv \ libcurl4-openssl-dev libgtest-dev cmake swig cd /usr/src/gtest cmake CMakeLists.txt make cp lib/*.a /usr/lib INSTALL_CPP RUN <<BUILD_MXNET cd /usr/src/mxnet export BUILD_OPTS="USE_CUDA=1 USE_CUDA_PATH=/usr/local/cuda USE_CUDNN= +1" export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/ +usr/local/cuda:/usr/local/cuda-11.1/compat git clone --branch 1.9.0 --recursive https://github.com/dmlc/mxnet . #The Makefile isn't tuned for parallel builds, but running -j1 is _ver +ry_ slow #In tests, -j8 seems to work anyway! But if it does fail, this will fi +nish #the build anyway. #If you still aren't getting a good build, use #make -j1 $BUILD_OPTS #and just wait it out. make -j8 $BUILD_OPTS || make -j2 $BUILD_OPTS || make -j1 $BUILD_OPTS BUILD_MXNET RUN <<PERL_MX export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/ +usr/local/cuda:/usr/local/cuda-11.1/compat cd /usr/src/mxnet/perl-package/AI-MXNetCAPI/ perl Makefile.PL make install cd /usr/src/mxnet/perl-package/AI-NNVMCAPI/ perl Makefile.PL make install cd /usr/src/mxnet/perl-package/AI-MXNet/ perl Makefile.PL make install PERL_MX FROM nvidia/cuda:11.1.1-cudnn8-devel RUN <<PREP echo export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/li +b64:/usr/local/cuda:/usr/local/mxnet/lib >> /etc/profile.d/99-cuda-li +brary-path.sh echo export XDG_RUNTIME_DIR=/tmp/xdg_runtime_\`whoami\` >> /etc/profil +e.d/99-gnuplot-xdg-path.sh echo mkdir \$XDG_RUNTIME_DIR 2\>/dev/null >> /etc/profile.d/99-gnuplot +-xdg-path.sh export DEBIAN_FRONTEND=noninteractive apt update apt install -y \ wget unzip sudo \ openssh-server x11-apps net-tools vim \ libmouse-perl pdl cpanminus libgraphviz-perl libpdl-graphics-g +nuplot-perl \ libpdl-ccs-perl libfunction-parameters-perl \ libperlio-gzip-perl libgtk2-perl apt-get clean cpanm -q Hash::Ordered rm -rf /root/.cpanm sed -i "s/^.*X11Forwarding.*$/X11Forwarding yes/" /etc/ssh/sshd_config sed -i "s/^.*X11UseLocalhost.*$/X11UseLocalhost no/" /etc/ssh/sshd_con +fig grep "^X11UseLocalhost" /etc/ssh/sshd_config || echo "X11UseLocalhost +no" >> /etc/ssh/sshd_config useradd -m -s /bin/bash mxnet echo "mxnet:mxnet" | chpasswd touch /home/mxnet/.Xauthority chown mxnet:mxnet /home/mxnet/.Xauthority chmod 600 /home/mxnet/.Xauthority adduser mxnet sudo PREP RUN --mount=from=build,src=/,dst=/mnt <<COPYING mkdir -p /usr/local/mxnet/lib/ cp -p \ /mnt/usr/src/mxnet/perl-package/AI-NNVMCAPI/blib/arch/auto/AI/ +NNVMCAPI/NNVMCAPI.so \ /mnt/usr/src/mxnet/perl-package/AI-MXNetCAPI/blib/arch/auto/AI +/MXNetCAPI/MXNetCAPI.so \ /mnt/usr/src/mxnet/lib/libmxnet.so \ /mnt/usr/src/mxnet/build/libpass_lib.so \ /mnt/usr/src/mxnet/build/libcustomop_lib.so \ /mnt/usr/src/mxnet/build/libcustomop_gpu_lib.so \ /mnt/usr/src/mxnet/build/libsubgraph_lib.so \ /mnt/usr/src/mxnet/build/libtransposerowsp_lib.so \ /mnt/usr/src/mxnet/build/libtransposecsr_lib.so \ /usr/local/mxnet/lib/ cp -rp /mnt/etc/alternatives/lib* /etc/alternatives/ cp -rp /mnt/usr/lib/lib* /usr/lib/ cp -rp /mnt/usr/lib/x86_64-linux-gnu /usr/lib/ cp -rp /mnt/usr/local/lib/x86_64-linux-gnu /usr/local/lib/ cp -rp /mnt/usr/local/share/man /usr/local/share/ cp -rp /mnt/usr/local/share/perl /usr/local/share/ cat <<"STARTUP" > /root/startup.sh #!/bin/bash echo -e "\n==== ===== =======\nPerl/MXNet startup\n==== ===== =======\ +n" ln -s /dev/null /dev/raw1394 2>/dev/null mkdir /tmp/runtime-mxnet 2>/dev/null cat /etc/*elease echo ifconfig -a | perl -ne 'if (/^\s+inet\s+(\d\S+\d)\s/) { print "IP: $1\ +n"; }' echo service ssh start echo bash $* STARTUP chmod 755 /root/startup.sh COPYING EXPOSE 22/tcp WORKDIR /root ENTRYPOINT ["/root/startup.sh"]
|
|---|