135 shaares
50 private links
50 private links
Cleanup
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y build-essential cmake unzip pkg-config
sudo apt-get install -y libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
sudo apt-get install -y libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install -y libxvidcore-dev libx264-dev
sudo apt-get install -y libgtk-3-dev
sudo apt-get install -y libopenblas-dev libatlas-base-dev liblapack-dev gfortran
sudo apt-get install -y libhdf5-serial-dev graphviz
sudo apt-get install -y python3-dev python3-tk python-imaging-tk
sudo apt-get install -y linux-image-generic linux-image-extra-virtual
sudo apt-get install -y linux-source linux-headers-generic
sudo apt-get --purge -y remove 'cuda*'
sudo apt-get --purge -y remove 'nvidia*'
sudo apt-get autoremove -y
sudo apt-get clean
sudo reboot
Install CUDA
wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run
sudo sh cuda_11.1.1_455.32.00_linux.run --override # do not install drivers
echo 'export PATH=/usr/local/cuda-11.1/bin:$PATH' >> ~/.zshrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH' >> ~/.zshrc
Install driver
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/455.45.01/NVIDIA-Linux-x86_64-455.45.01.run
sudo sh NVIDIA-Linux-x86_64-455.45.01.run
Make Xorg use only IGPU
sudo nano /etc/default/grub
# Set GRUB_CMDLINE_LINUX="nogpumanager i915.enable_guc=2"
sudo update-grub
sudo prime-select nvidia
sudo rm /usr/share/X11/xorg.conf.d/11-nvidia-prime.conf
sudo nano /etc/X11/xorg.conf
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
sudo reboot
Install cuDNN
https://developer.nvidia.com/rdp/cudnn-download
tar -xzvf cudnn-11.1-linux-x64-v8.0.5.39.tgz
sudo cp -P cuda/include/* /usr/local/cuda/include/
sudo cp -P cuda/lib64/* /usr/local/cuda/lib64/
sudo apt-get update
sudo apt-get -y install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
sudo apt-get --purge -y remove 'cuda*'
sudo apt-get --purge -y remove 'nvidia*'
sudo apt-get autoremove -y
sudo apt-get clean
sudo reboot
# Boot with temporary kernel parameter nomodeset
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda
echo 'export PATH=/usr/local/cuda-11.1/bin:$PATH' >> ~/.zshrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH' >> ~/.zshrc
sudo nano /etc/default/grub
# Set GRUB_CMDLINE_LINUX="nogpumanager i915.enable_guc=2"
sudo update-grub
# Tell to the NVIDIA configuration tool to switch on NVIDIA graphic card
sudo prime-select nvidia
sudo rm /usr/share/X11/xorg.conf.d/11-nvidia-prime.conf
sudo nano /etc/X11/xorg.conf
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
sudo apt purge xserver-xorg-video-intel
sudo reboot
https://developer.nvidia.com/rdp/cudnn-download
tar -xzvf cudnn-11.0-linux-x64-v8.0.5.39.tgz
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
cd /usr/local/cuda/targets/x86_64-linux/lib
sudo ln -sf libcudnn_adv_infer.so.8.0.5 libcudnn_adv_infer.so.8
sudo ln -sf libcudnn_adv_infer.so.8 libcudnn_adv_infer.so
sudo ln -sf libcudnn_adv_train.so.8.0.5 libcudnn_adv_train.so.8
sudo ln -sf libcudnn_adv_train.so.8 libcudnn_adv_train.so
sudo ln -sf libcudnn_cnn_infer.so.8.0.5 libcudnn_cnn_infer.so.8
sudo ln -sf libcudnn_cnn_infer.so.8 libcudnn_cnn_infer.so
sudo ln -sf libcudnn_cnn_train.so.8.0.5 libcudnn_cnn_train.so.8
sudo ln -sf libcudnn_cnn_train.so.8 libcudnn_cnn_train.so
sudo ln -sf libcudnn_ops_infer.so.8.0.5 libcudnn_ops_infer.so.8
sudo ln -sf libcudnn_ops_infer.so.8 libcudnn_ops_infer.so
sudo ln -sf libcudnn_ops_train.so.8.0.5 libcudnn_ops_train.so.8
sudo ln -sf libcudnn_ops_train.so.8 libcudnn_ops_train.so
sudo ln -sf libcudnn.so.8.0.5 libcudnn.so.8
sudo ln -sf libcudnn.so.8 libcudnn.so
Install MSYS and MinGW-w64
- Download MSYS2 and install it.
Update MSYS2:
pacman -Syy
pacman -Syu
Install MinGW-w64
pacman -S mingw-w64-x86_64-toolchain
Install all members.
Install CodeBlocks
- Download codeblocks-20.03-setup.exe and install it.
Configure debugger
- In the top menu go to
Settings
and selectDebugger...
- In the left pane select
GDB/CDB debugger
- Click
Create Config
and enter a name (e.g.Debug_MINGW64
) - Select this new entry on the left
- Set the location to
C:\msys64\mingw64\bin\gdb.exe
- Uncheck
Disable startup scripts (-nx) GDB only
- Leave the other settings to their defaults (including
Debugger type = GDB
) and press OK
Configure compiler
- In the top menu go to
Settings
and selectCompiler...
- Under Selected compiler choose
GNU GCC Compiler
- Click Copy and enter a name (e.g.
MINGW64
) - Under Selected compiler choose this new entry (should be at the bottom of the list)
- Click the tab
Toolchain executables
- Under
Compiler's installation directory
set the location toC:\msys64\mingw64
- Click the tab
Program Files
and set the following settings:- C compiler:
x86_64-w64-mingw32-gcc.exe
- C++ compiler:
x86_64-w64-mingw32-g++.exe
- Linker for dynamic libs:
x86_64-w64-mingw32-g++.exe
- Linker for static libs:
x86_64-w64-mingw32-gcc-ar.exe
- Debugger:
Debug_MINGW64
(as created earlier) - Resource compiler:
windres.exe
- Make program:
mingw32-make.exe
- C compiler:
Install VMWare Fusion
Download official VMWare Fusion 12 and use one of these keys to activate:
ZF3R0-FHED2-M80TY-8QYGC-NPKYF
YF390-0HF8P-M81RQ-2DXQE-M2UT6
ZF71R-DMX85-08DQY-8YMNC-PPHV8
Create virtual machine
- Download ICPC World Finals Contest Image
- Create a virtual machine in VMWare with that image
Fix DHCP
Open /etc/network/interfaces.d/ens33
:
sudo nano /etc/network/interfaces.d/ens33
Change content to:
auto ens33
iface ens33 inet dhcp
Then run:
sudo dhclient ens33
Install open-vm-tools-desktop and codeblocks-contrib
Run in Terminal:
sudo apt-get update
sudo apt-get -y install open-vm-tools-desktop codeblocks-contrib
Share files with virtual machine
- Click
Virtual Machine
>Sharing
>Sharing Settings...
- Check
Enable Shared Folders
- Add folders to be shared
Fix VMWare Fusion Shared folders not showing up
Mount /mnt/hgfs
using vmhgfs-fuse:
sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
To make mounting globally persistent, add the following line to /etc/fstab
:
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0
Create shortcuts for common applications/folders
Go to Other Locations
> /usr/share/applications
and drag the shortcuts to Desktop.
To create shortcuts for folders, run in Terminal:
gnome-desktop-item-edit --create-new ~/Desktop
Replace CodeBlocks's default C++ template
sudo gvim /usr/share/codeblocks/templates/wizard/console/cpp/main.cpp
Make CodeBlocks use gnome-terminal
Open CodeBlocks, go to Settings
> Environment...
> Terminal to launch console programs:
> gnome-terminal...
Reinstall bzip2:
brew uninstall bzip2
brew install bzip2
Add this to ~/.zshrc
:
# Workaround for pyenv to build
export LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib"
export CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include"