Unit 0.3.2 Operating system¶
Subsubsection 0.3.2.1 Linux¶
If you are on a computer that already uses Linux as its operating system, you are all set. (Although... It has been reported that some linux installations don't automatically come with the gcc compiler, which you will definitely need.)
Subsubsection 0.3.2.2 Windows¶
Sorry, we don't do Windows... But there are options.
In theory, there is some way of installing a native version of Linux if you are using Windows 10. Instructions can be found at
Alternatively, you can install an open-source version of Linux instead of, or in addition to, your Windows OS. Popular versions include Ubuntu, for which instructions can be found at
Finally, you may want to use a Virtual Machine (see below).
Subsubsection 0.3.2.3 Mac OS-X¶
Mac OS-X comes with Darwin, an open-source Unix-like operating system (
A complication on the Max OS-X operating system is that the gcc compiler defaults to their clang compiler, which does not by default include the ability to use OpenMP directives, which we will need for the material on using multiple threads and cores in Week 4.
There are a few tools that you will want to install to have the complete toolchain that we will use. We will walk you through how to set this up in Unit 0.3.3
Again, alternatively you may want to use a Virtual Machine (see below).
Subsubsection 0.3.2.4 Virtual box alternative¶
Note: if you run into problems, you will need to ask someone with more expertise with virtual machines that we have (for example, on the edX discussion board).
Non-Linux users can also install a Linux virtual machine onto both Windows and macOS using VirtualBox from Oracle, which is free to download.
Essentially, you can run a Linux OS from within Windows / macOS without having to actually install it on the hard drive alongside Windows / macOS, and (for Windows users) without having to go through Microsoft Store.
The basic process looks like this:
Download an .iso of an Ubuntu distribution. UbuntuMATE is a safe choice. Make sure to download the 64-bit version.
Create a New Machine by clicking on the “New” button.
Give your virtual machine (VM) a name. For the Type, select “Linux” and for the Version, select “Ubuntu (64-bit)”
On the next page, set the memory to 2048 MB.
Continue through the prompts, opting for the default selections.
Once your VM is created, click on Settings -> System -> Processor. Under the “Processor(s)” menu select upto 4 processors.
Load the .iso you downloaded above.
Under Settings->Storage->Controller IDE Select the “Empty” disk on the left panel. On the right panel under “Optical Drive”, click on the icon that looks like a CD. Select “Choose Virtual Optical Disk File”, and select the .iso you downloaded from the web.
Start the VM.
Go through the prompts of installing Ubuntu on the VM, opting for the default selections.
Once Ubuntu is set up (this may take a few minutes), start a terminal and install gcc, make, and git.
sudo apt-get install gcc sudo apt-get install make sudo apt-get install git
Now you are set up to continue with the installation of BLIS.
Note: The VM does not automatically detect the hardware of the host machine, hence when configuring BLIS, you will have to explicitly configure using the correct configuration for your architectures (e.g., Haswell). That can be done with the following configure options (in this example for the Haswell architecture)::
./configure -t openmp -p ~/blis haswellThen the user can access the virtual machine as a self-contained contained Linux OS.