-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.virtualbox
83 lines (63 loc) · 3.31 KB
/
README.virtualbox
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# These are instructions to setup an Ubuntu virtual machine for the examples in
# this chapter. The first part of the instructions must be done manually. The
# last half can be done by executing this file as a script as instructed.
# Download VirtualBox and install
# Download Ubuntu desktop install and save on local disk [ubuntu-20.04-desktop-amd64.iso]
# Download VBoxGuestAdditions.iso
# On Mac already at /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso
# Setup new machine
# See the README.autovirtualbox script for directions for setting up base virtual machine
# sign in
# click through whats new
# select dots at bottom left and start up a terminal
# Reboot to get cut and paste and screen size fixed
# Add user to sudo list if needed
# su
# visudo
# add %vboxsf ALL=(ALL) ALL
# exit
# sudo apt-get install -y git
# Need script on guest to execute
# git clone --recursive https://github.com/essentialsofparallelcomputing/Chapter7.git
sudo apt-get -qq update && \
DEBIAN_FRONTEND=noninteractive \
sudo apt-get -qq install -y cmake git vim gcc g++ gfortran software-properties-common wget gnupg-agent gnupg2
# Installing latest GCC compiler (version 10) for best OpenMP
sudo apt-get -qq install -y gcc-10 g++-10 gfortran-10
sudo update-alternatives \
--install /usr/bin/gcc gcc /usr/bin/gcc-9 80 \
--slave /usr/bin/g++ g++ /usr/bin/g++-9 \
--slave /usr/bin/gfortran gfortran /usr/bin/gfortran-9 \
--slave /usr/bin/gcov gcov /usr/bin/gcov-9
sudo update-alternatives \
--install /usr/bin/gcc gcc /usr/bin/gcc-10 90 \
--slave /usr/bin/g++ g++ /usr/bin/g++-10 \
--slave /usr/bin/gfortran gfortran /usr/bin/gfortran-10 \
--slave /usr/bin/gcov gcov /usr/bin/gcov-10
sudo chmod u+s /usr/bin/update-alternatives
# Installing Intel compilers since they give the best threading performance among compiler vendors
# Also installing Intel Inspector to detect race conditions
wget -q https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo rm -f GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo echo "deb https://apt.repos.intel.com/oneapi all main" > /etc/apt/sources.list.d/oneAPI.list
sudo echo "deb [trusted=yes arch=amd64] https://repositories.intel.com/graphics/ubuntu bionic main" > /etc/apt/sources.list.d/intel-graphics.list
sudo apt-get -qq update && \
sudo apt-get -qq install -y \
intel-hpckit-getting-started \
intel-oneapi-common-vars \
intel-oneapi-common-licensing \
intel-oneapi-dev-utilities \
intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic \
intel-oneapi-ifort \
intel-oneapi-openmp \
intel-oneapi-inspector
RUN usermod -a -G video chapter7
# Needed libraries for Intel Inspector graphics user interface
sudo apt-get -qq install -y libgtk2.0-0 libxxf86vm1 libsm6 libnss3 libnss3 libx11-xcb1 libxtst6 \
libasound2 libatk-bridge2.0-0
sudo apt-get clean && sudo rm -rf /var/lib/apt/lists/*
# If Software updater prompts, install updated software --> wait ....
source /opt/intel/oneapi/setvars.sh
echo "source /opt/intel/oneapi/setvars.sh" >> ${HOME}/.bash_profile
cd Chapter7; #make