Singularity/Google Groups information… So, many thanks to users on the Singularity group that chimed in on my NICE Containerization efforts. I have reached success thanks in part to your inputs, online information sources, and inputs from the NICE vendor contact in Italy. Some hurdles on my situation: Inability to use “-nv” switch due to RHEL6.4 base kernel not supporting PR_SET_NO_NEW_PRIVS. Online nVidia extraction processes did not work with NICE-DCV. Below are screenshots of my output goals for containerizing NICE-DCV.

My Situation: A RHEL6.4 HPC cluster which cannot be upgraded in the near future, however, some users have immediate need to use newer versions of 3D intensive applications at RHEL6.9 on the HPC. Goal: Containerize RHEL6.9/NICE-DCV v2016 to accommodate situation for certain 3D engineering applications.

Means: Recipe requirements: Note: There is some overlap between “include” and the yum installs I’m doing to fulfill prerequisites for the application I need to install… In the end, this combination below enables NICE-DCV. BootStrap: yum OSVersion: 6.9 MirrorURL: http://xx.xx.xx.xx /repo/rhel6.9-x64/ Include: yum mesa-libGL mesa-libGL.i686 mesa-libGLU mesa-libGLU.i686 mesa-libEGL.i686 mesa-libEGL mesa-libGLdevel mesa-libGLU-devel mesa-dri-drivers mesa-dri-drivers.i686 mesa-dri1-drivers mesa-dri1-drivers.i686 libjpeg-turbo openssh-clients openssl-libs.x86_64 openssl-libs.i686 xorg-x11-drv-nvidia libffi libffi.i686 %post echo "Installing Gnome Desktop" yum -y groupinstall Desktop "Desktop Platform" "X Window System" "Internet Browser" "Graphical Administration Tools" "Development Tools" Fonts echo "Installing engineering application pre-reqs..." yum -y install tcl tk perl libXp.x86_64 xorg-x11-fonts-cyrillic.noarch xterm.x86_64 openmotif.x86_64 compat-libstdc++33.x86_64 compat-libstdc++ libstdc++.x86_64 libstdc++.i686 libstdc++.x86_64 gcc-c++.x86_64 compat-libstdc++-33.i686 libstdc++-devel.x86_64 libstdc++-devel.i686 compat-gcc-34.x86_64 gtk2.i686 libXxf86vm.i686 libSM.i686 libXt.i686 xorgx11-fonts-ISO8859-1-75dpi.noarch xorg-x11-fonts-ISO8859-1-100dpi.noarch glibc openmotif compat-libstdc++ Post-recipe Note: Optimally, if you want to maximize ease of container replication, incorporating addional steps below via recipe, where possible, is good to do. I’ll be working towards that goal, but wanted to share success now to the group. 1. Enter sandbox in writable mode and go to a bound directory where your nvidia extraction is located. This is typically NVIDIA-Linux-x86_64-$VERSION.run. Use the extract only switch to dump files to a subdirectory of your making- $TARGET. My $TARGET was an nfs binded mount point for the container. In that extracted target directory $TARGET, make the following executable file Singularity rhel69_nice:cat make_links.sh #!/bin/bash ln -s libGL.so.${NVID_VER} libGL.so.1 ln -s libEGL_nvidia.so.${NVID_VER} libEGL_nvidia.so.0 ln -s libGLESv1_CM_nvidia.so.${NVID_VER} libGLESv1_CM_nvidia.so.1 ln -s libGLESv1_CM.so.1 libGLESv1_CM.so ln -s libGLESv2_nvidia.so.${NVID_VER} libGLESv2_nvidia.so.2

2. 3.

4. 5.

6.

7.

8.

ln -s libGLESv2.so.2 libGLESv2.so ln -s libGLX_nvidia.so.${NVID_VER} libGLX_indirect.so.0 ln -s libGLX_nvidia.so.${NVID_VER} libGLX_nvidia.so.0 ln -s libnvidia-cfg.so.1 libnvidia-cfg.so ln -s libnvidia-cfg.so.${NVID_VER} libnvidia-cfg.so.1 ln -s libnvidia-encode.so.1 libnvidia-encode.so ln -s libnvidia-encode.so.${NVID_VER} libnvidia-encode.so.1 ln -s libnvidia-fbc.so.1 libnvidia-fbc.so ln -s libnvidia-fbc.so.${NVID_VER} libnvidia-fbc.so.1 ln -s libnvidia-ifr.so.1 libnvidia-ifr.so ln -s libnvidia-ifr.so.${NVID_VER} libnvidia-ifr.so.1 ln -s libnvidia-ml.so.1 libnvidia-ml.so ln -s libnvidia-ml.so.${NVID_VER} libnvidia-ml.so.1 ln -s libnvidia-opencl.so.${NVID_VER} libnvidia-opencl.so.1 ln -s vdpau/libvdpau_nvidia.so.${NVID_VER} libvdpau_nvidia.so ln -s libcuda.so.${NVID_VER} libcuda.so ln -s libcuda.so.${NVID_VER} libcuda.so.1 exit Also put a copy of this make_links.sh file inside /$TARGET/32 to fix symlinks on 32 bit side. Singularity rhel69_nice:cp $TARGET/make_links.sh $TARGET/32/make_links_32bit.sh Here’s where extraction takes a new turn for Singularity. For RHEL6 OS with installs of NICE-DCV, you cannot extract to non-standard directories. Copy the 32 bit files first as follows: Singularity rhel69_nice:>cd $TARGET/32 Singularity rhel69_nice:>rsync -av * /usr/lib Singularity rhel69_nice:>cd /usr/lib Singularity rhel69_nice:>export NVID_VER=361.45.18 set your version of nVidia driver here Singularity rhel69_nice:./make_links_32bit.sh Remove the $TARGET/32 directory from the bind path. Singularity rhel69_nice:rm -fr $TARGET/32 Extract remaining 64 bit nvidia files to /usr/lib64 Singularity rhel69_nice>cd $TARGET Singularity rhel69_nice>rsync -av * /usr/lib64 Singularity rhel69_nice>cd /usr/lib64 Singularity rhel69_nice>./make_links.sh Edit Singularity environment file Singularity rhel69_nice:/usr/lib/nvidia> vi /environment Singularity rhel69_nice:/usr/lib/nvidia> cat /environment # Custom environment shell code should follow export PATH=/usr/lib64:/usr/lib:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin export LD_LIBRARY_PATH=/usr/lib64:/usr/lib:/.singularity.d/libs Exit the container sandbox and re-enter to pickup new environment. Singularity rhel69_nice> exit exit [root@hostname]# singularity shell --writable rhel69_nice/ Verify success Singularity rhel69_nice> echo $PATH

/usr/lib64:/usr/lib:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin Singularity rhel69_nice> echo $LD_LIBRARY_PATH /usr/lib64:/usr/lib:/.singularity.d/libs 9. For good measure, check nvidia-smi output… Singularity rhel69_nice> nvidia-smi Wed Feb 21 12:30:37 2018 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 361.45.18 Driver Version: 361.45.18 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GRID K2 Off | 0000:05:00.0 Off | Off | | N/A 29C P8 17W / 117W | 28MiB / 4095MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 GRID K2 Off | 0000:06:00.0 Off | Off | | N/A 28C P8 17W / 117W | 98MiB / 4095MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 2 GRID K2 Off | 0000:84:00.0 Off | Off | | N/A 31C P8 17W / 117W | 33MiB / 4095MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 3 GRID K2 Off | 0000:85:00.0 Off | Off | | N/A 29C P8 17W / 117W | 33MiB / 4095MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| +-----------------------------------------------------------------------------+

10. From $TARGET bind mount, install NICE-DCV v2016 with following steps: I. Singularity rhel69_nice:$TARGET> ./nice-dcv-2016.0-16811.run Step no: 1 of 5 | Welcome -------------------------------------------------------------------------------Welcome to the NICE Desktop Cloud Visualization installer. During the installation you will complete the following steps: Step 1: Welcome Step 2: System Check Step 3: License Step 4: Install Step 5: Complete -------------------------------------------------------------------------------Press "Enter" to continue or press "q" to quit: Hit “enter” key II. Step no: 2 of 5 | System Check -------------------------------------------------------------------------------Checking Operating System... Ok Checking Xorg server........ Ok Checking NVIDIA card........ Skipping NVIDIA check because lspci is missing. Checking NVIDIA driver...... Failed The NVIDIA driver is not installed. NICE DCV requires the NVIDIA driver to work correctly. It is strongly suggested to install it now. If you do not install it now, the installation will continue

but NICE DCV will NOT work until the NVIDIA driver is correctly installed. Do you want to install the NVIDIA driver now? [y|n] n choose n and “enter” III. Step no: 3 of 5 | License -------------------------------------------------------------------------------NICE DCV License. A DCV license is required to correctly install NICE DCV. DCV can use a license file or a license server. Do you want to use a license server? [y|n] -------------------------------------------------------------------------------Choose “y” and “enter” IV. Please type the hostname or the port@hostname of the RLM server. If left empty, the installation will continue, but you will need to configure the license in the dcv.conf configuration file before using DCV. -------------------------------------------------------------------------------Type license server hostname or port@hostname: port@hostname then “enter” V. Step no: 4 of 5 | Install VI. -------------------------------------------------------------------------------VII. NICE DCV provides its own kernel module for USB remotization. VIII. Do you want to install the kernel module and enable USB remotization? [y|n] n I chose n here. If you decide to install the USB remotization module at a later date, you can use /opt/nice/dcv/bin/dcvusbdriverupdate Press "Enter" to continue Press "Enter" to quit The installation log is available in: /var/log/dcv-install-2016.0-$.log 11. Exit the container sandbox and re-enter to pickup new installation changes. Singularity rhel69_nice> exit exit [root@hostname]# singularity shell --writable rhel69_nice/ 12. To be sure, I verified the dcv is “on” Singularity rhel69_nice> dcv on DCV is already switched ON on display ":3.0". 13. Some verification tests to run, with expected outputs.. I. Singularity rhel69_nice> /opt/nice/dcv/bin/dcvtest

II.

Singularity rhel69_nice> glxgears

III.

Singularity rhel69_nice> glxinfo Key lines highlighted below… name of display: :3.0 display: :3 screen: 0 direct rendering: Yes server glx vendor string: NICE s.r.l. server glx version string: 1.4 server glx extensions: GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control, GLX_EXT_swap_control, GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, GLX_EXT_buffer_age, GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_EXT_create_context_es_profile, GLX_EXT_create_context_es2_profile, GLX_ARB_create_context_robustness, GLX_NV_delay_before_swap, GLX_EXT_stereo_tree, GLX_EXT_libglvnd, GLX_ARB_context_flush_control, GLX_ARB_multisample, GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_NV_swap_group, GLX_EXT_framebuffer_sRGB, GLX_NV_multisample_coverage, GLX_NV_copy_image, GLX_NV_copy_buffer, GLX_NV_video_capture client glx vendor string: NICE s.r.l. client glx version string: 1.4 client glx extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_EXT_fbconfig_packed_float, GLX_EXT_texture_from_pixmap, GLX_EXT_framebuffer_sRGB, GLX_NICE_desktop_cloud_visualization GLX version: 1.4 GLX extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_EXT_texture_from_pixmap, GLX_EXT_framebuffer_sRGB, GLX_NICE_desktop_cloud_visualization OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: Quadro FX GRID K2/PCIe/SSE2 OpenGL version string: 4.5.0 NVIDIA 361.45.18 OpenGL shading language version string: 4.50 NVIDIA

No warranty, expressed or implied, is made by this document. This process worked for me and information has been provided to the NICE-DCV vendor for reference.

Singularity/ information…

Feb 21, 2018 - I have reached success thanks in part to your inputs, online information sources, and inputs from the NICE vendor contact in Italy. Some hurdles on my situation: Inability to use “-nv” switch due to RHEL6.4 base kernel not supporting. PR_SET_NO_NEW_PRIVS. Online nVidia extraction processes did not ...

216KB Sizes 0 Downloads 36 Views

Recommend Documents

Economics of Singularity
Experts with an idee fixe (hedgehogs) were worse than random chance. ○ Regression and extrapolation typically outperformed experts ...

Economics of Singularity
Kelly: What Technology Wants. ○ Johnson: Where Ideas ... By ca. 2000, information had jumped to a 100% growth mode ... Your loyal subjects. ○ Why would ...

Singularity Schedule.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Singularity ...

singularity-part_1.pdf
as old as Gandalf when I reach his age, did some freelance back-end web development. around a decade ago, had an old game I designed back in 1978, and was really,. really bored. Assisted, Supervised, and Berated by: the old game : Hyperwars was its n

Singularity/ information…
21 Feb 2018 - So, many thanks to users on the Singularity group that chimed in on my NICE Containerization efforts. I have reached success thanks in part to your inputs, online information sources, and inputs from the NICE vendor contact in Italy. So

singularity-part_3.pdf
On my computer – it had Windows 7 at that time, ZoneAlarm, and Malwarebytes. running – Apache ran slow and I was running into delays of several seconds ...

singularity-part_5.pdf
Built so it can run even on free web hosts (but beware the ones that limit hits. instead of bandwidth) and economy web hosts. Easy setup. Page 1 of 4 ...

ray kurzweil the singularity is near pdf
ray kurzweil the singularity is near pdf. ray kurzweil the singularity is near pdf. Open. Extract. Open with. Sign In. Main menu. Displaying ray kurzweil the ...

An Overview of the Singularity Project.pdf
An Overview of the Singularity Project.pdf. An Overview of the Singularity Project.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying An Overview of ...

RAY KURZWEIL - The Singularity Is Near.pdf
Approachable and engaging." —The Unofficial Microsoft Blog. Page 3 of 432. RAY KURZWEIL - The Singularity Is Near.pdf. RAY KURZWEIL - The Singularity Is ...

pdf The Singularity Is Near: When Humans Transcend ...
The Singularity Is Near: When Humans Transcend Biology pdf download The Singularity Is Near: When Humans Transcend Biology Get PDF The Singularity Is ...

Singularity-Free Dynamic Equations of Open-Chain ...
space of the mechanism is a finite-dimensional space, often given the structure of a linear ... the configuration space has a higher dimension than the space ...... Systems – A Coordinate-free Approach. Springer-Verlag, 2001. [4] E. T. Whittaker, A