Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
download:sac2c [2019/09/08 09:32]
hnv re orgonised the downloads section
download:sac2c [2020/04/06 09:44] (current)
hnv add date
Line 1: Line 1:
 ===== 1 Compiler: the sac2c ecosystem ===== ===== 1 Compiler: the sac2c ecosystem =====
  
-Binary releases of the compiler and the standard library are provided in the following sections.+Binary releases of the compiler and the standard library are provided in the following sections. We provide two release types, major releases and weekly releases.
  
-We provide two types of distributable packagesstable releases and bleeding-edge releases (which ​we call //weeklies//)In both types, ​we provide a **basic** and a **full** package. In order to function, the basic package needs a system C compiler (GCC or MacOS Clang) and standard library, and pthreads. The full package additionally needs HWLOC and CUDA.+<callout type="​primary"​ icon="​true">​ 
 +=== Which release type should I use? === 
 +At the moment, we suggest using one of the //weekly// release packages as these include some of the latest featuresThese packages only differ from our stable release packages in that we do less testing before releasing them. 
 +</​callout>​
  
-//For normal usage, the basic variant is sufficient to try out all of the features ​of the Single Assignment C language.//+=== Package Variants === 
 + 
 +We provide two types of packages variants, **basic** and  **full**. 
 + 
 +<​HTML>​ 
 +<​dl>​ 
 +  <​dt><​b>​Basic package</b></dt> 
 +    <​dd>&​mdash;​ package excludes special featureslike the GPU backend or advanced multi-threading scheduling.</​dd>​ 
 +    <​dd>&​mdash;​ makes use of minimal external dependencies:​ <​em>​gcc,​ libc, uuid-lib</​em>​.</​dd>​ 
 +  <​dt><​b>​Full package</​b></​dt>​ 
 +    <​dd>&​mdash;​ package includes GPU backend and advanced multi-threading scheduling.</​dd>​ 
 +    <​dd>&​mdash;​ more external dependencies:​ <​em>​gcc,​ libc, uuid-lib, hwloc, cuda<​em>​*</​em></​em></​dd>​ 
 +    <dd>* CUDA must be installed as per the recommended guidelines ​of the distribution. Our packages are built using <a href="​https://​hub.docker.com/​r/​nvidia/​cuda">​docker containers</​a>​ provided by NVIDIA, look there for their installation procedure.</​dd>​ 
 +</​dl>​ 
 +</​HTML>​ 
 + 
 +//We use a CI cluster to build these packages using configurations defined in our [[https://​www.macs.hw.ac.uk/​gitlab/​sac-group/​build-sac-pkgs|package build repo]].//
  
 <callout type="​primary"​ icon="​true">​ <callout type="​primary"​ icon="​true">​
-=== Which package ​should I use? === +=== Which variant ​should I use? === 
-At the momentwe suggest using one of the //weekly// packages as these include some of the latest ​features. These packages only differ from our stable release packages in that we do less testing before releasing them.+For normal usage, the **basic** variant is sufficient to try out all of the features ​of the Single Assignment C language.
 </​callout>​ </​callout>​
 +
 +=== Version Number ===
 +
 +We use semantic versioning, but additionally store the commit count (since the last version change) and the release number. Using ''​1.3.2-256-1''​ as an example, ''​1.3.2''​ is the version number which has ''​256''​ new commits on top and has been packages/​release only once (''​1''​).
 +
 +//The version number may not match with what is in the filename of the package.//
  
 ==== Weeklies --- Bleeding-Edge Release ==== ==== Weeklies --- Bleeding-Edge Release ====
Line 16: Line 41:
 The packages listed here are built from the //latest// changes to our development branch. Some of the features provided are still in development and may not work as expected. Please message use on the [[:​mailing_lists#​user_mailing_lists|user mailing list]] if you encounter any problem. The packages listed here are built from the //latest// changes to our development branch. Some of the features provided are still in development and may not work as expected. Please message use on the [[:​mailing_lists#​user_mailing_lists|user mailing list]] if you encounter any problem.
  
-=== Ubuntu 16 === +<callout type="​warning"​ icon="​true">​ 
-{{filelist>​packages/weekly/Ubl16/sac*&style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}} +=== Releases have moved === 
-=== Ubuntu 18 === +We now provide these packages ​via a separate repository, at https://gitlab.science.ru.nl/sac-group/​sac-packages/​-/​releases. To get the latest releases, please look there first. 
-{{filelist>​packages/​weekly/​Ubl18/sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}} +</​callout>​ 
-=== RHEL 6 === + 
-{{filelist>​packages/​weekly/​RHEL6/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}} +== Weekly Release v1.3.3-383-(06.04.2020) ​== 
-=== RHEL 7 === + 
-{{filelist>​packages/​weekly/​RHEL7/sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}} +^ System ^ Basic ^ Full ^ 
-=== MacOS === +| Linux (generic) | [[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Linux/​1.3.3-383-1/​basic/​checksums.txt|checksums.txt]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Linux/​1.3.3-383-1/​basic/​sac-stdlib-1.3-81-g930d.tar.gz|sac-stdlib-1.3-81-g930d.tar.gz]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Linux/​1.3.3-383-1/​basic/​sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.tar.gz|sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.tar.gz]] | [[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Linux/​1.3.3-383-1/​full/​checksums.txt|checksums.txt]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Linux/​1.3.3-383-1/​full/​sac-stdlib-1.3-81-g930d.tar.gz|sac-stdlib-1.3-81-g930d.tar.gz]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Linux/​1.3.3-383-1/​full/​sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.tar.gz|sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.tar.gz]] | 
-{{filelist>​packages/​weekly/​MacOS/sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}} +| RHEL 7 | [[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​RHEL7/​1.3.3-383-1/​basic/​checksums.txt|checksums.txt]]//​[[https://​gitlab.science.ru.nl/sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​RHEL7/​1.3.3-383-1/​basic/​sac-stdlib-1.3-81-g930d.rpm|sac-stdlib-1.3-81-g930d.rpm]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​RHEL7/​1.3.3-383-1/​basic/​sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.rpm|sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.rpm]] | [[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​RHEL7/​1.3.3-383-1/​full/​checksums.txt|checksums.txt]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​RHEL7/​1.3.3-383-1/​full/​sac-stdlib-1.3-81-g930d.rpm|sac-stdlib-1.3-81-g930d.rpm]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​RHEL7/​1.3.3-383-1/​full/​sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.rpm|sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.rpm]] | 
-=== Linux x64 === +RHEL 6 | [[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​RHEL6/​1.3.3-383-1/​basic/​checksums.txt|checksums.txt]]//​[[https://​gitlab.science.ru.nl/sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​RHEL6/​1.3.3-383-1/​basic/​sac-stdlib-1.3-81-g930d.rpm|sac-stdlib-1.3-81-g930d.rpm]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​RHEL6/​1.3.3-383-1/​basic/​sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.rpm|sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.rpm]] |  | 
-The contents of this package can be installed anywhere on your system (this is particularly useful if you do not have root permission!)Upon open the archive, you will find a README file and an install script (''​install.sh''​)Please read the README on how to use the install script+| Ubuntu 18.04 | [[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Ubl18/​1.3.3-383-1/​basic/​sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.deb|sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.deb]]//​[[https://​gitlab.science.ru.nl/sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Ubl18/​1.3.3-383-1/​basic/​checksums.txt|checksums.txt]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Ubl18/​1.3.3-383-1/​basic/​sac-stdlib-1.3-81-g930d.deb|sac-stdlib-1.3-81-g930d.deb]] | [[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Ubl18/​1.3.3-383-1/​full/​sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.deb|sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.deb]]//​[[https://​gitlab.science.ru.nl/sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Ubl18/​1.3.3-383-1/​full/​checksums.txt|checksums.txt]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Ubl18/​1.3.3-383-1/​full/​sac-stdlib-1.3-81-g930d.deb|sac-stdlib-1.3-81-g930d.deb]] | 
-{{filelist>​packages/​weekly/​Linux/sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}}+| Ubuntu 16.04 | [[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Ubl16/​1.3.3-383-1/​basic/​sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.deb|sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.deb]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Ubl16/​1.3.3-383-1/​basic/​checksums.txt|checksums.txt]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Ubl16/​1.3.3-383-1/​basic/​sac-stdlib-1.3-81-g930d.deb|sac-stdlib-1.3-81-g930d.deb]] | [[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Ubl16/​1.3.3-383-1/​full/​sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.deb|sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.deb]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Ubl16/​1.3.3-383-1/​full/​checksums.txt|checksums.txt]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​Ubl16/​1.3.3-383-1/​full/​sac-stdlib-1.3-81-g930d.deb|sac-stdlib-1.3-81-g930d.deb]] | 
 +| MacOS | [[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​MacOS/​1.3.3-383-1/​basic/sac-stdlib-1.3-81-g930d.pkg|sac-stdlib-1.3-81-g930d.pkg]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​MacOS/​1.3.3-383-1/​basic/​checksums.txt|checksums.txt]]//​[[https://​gitlab.science.ru.nl/​sac-group/​sac-packages/​-/​raw/​master/​packages/​weekly/​MacOS/​1.3.3-383-1/​basic/​sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.pkg|sac2c-1.3.3-MijasCosta-383-g6ea12-omnibus.pkg]] | N/A | 
  
 === Extra === === Extra ===
Line 36: Line 63:
 ^ OS ^ External Link ^ ^ OS ^ External Link ^
 | ArchLinux | via [[https://​aur.archlinux.org/​packages/​sac-compiler-weekly|sac-compiler-weekly]] and [[https://​aur.archlinux.org/​packages/​sac-stdlib-weekly|sac-stdlib-weekly]] | | ArchLinux | via [[https://​aur.archlinux.org/​packages/​sac-compiler-weekly|sac-compiler-weekly]] and [[https://​aur.archlinux.org/​packages/​sac-stdlib-weekly|sac-stdlib-weekly]] |
- 
-=== Legacy === 
- 
-Here we list some of the older releases for platforms we no longer package for. 
- 
-== Ubuntu 14 == 
-{{filelist>​packages/​weekly/​Ubl14/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}} 
  
 ==== Major Release ==== ==== Major Release ====
Line 85: Line 105:
 <panel type="​default"​ title="​DEB (Debian based distributions)">​ <panel type="​default"​ title="​DEB (Debian based distributions)">​
  
-The ''​deb''​ package is meant to be installed on Debian based distributions (e.g. Debian, Ubuntu, etc.) using the ''​dpkg''​ tool set.+The ''​deb''​ package is meant to be installed on Debian based distributions (e.g. Debian, Ubuntu, etc.) using the ''​dpkg''​ or the ''​apt''​ tool set.
  
 Installation:​ Installation:​
 <​code>​ <​code>​
 $ sudo dpkg --install sac-VERSION-RELEASE.deb $ sudo dpkg --install sac-VERSION-RELEASE.deb
 +</​code>​
 +or
 +<​code>​
 +$ sudo apt install sac-VERSION-RELEASE.deb
 </​code>​ </​code>​
 </​panel>​ </​panel>​
Line 118: Line 142:
 $ cd ~ && rm -rf temp_extract $ cd ~ && rm -rf temp_extract
 </​code>​ </​code>​
 +</​panel>​
 +<panel type="​default"​ title="​Windows 10">​
 +While we do not currently support a native Windows version, you can still use it through a virtualisation layer
 +of your choosing. The easiest way to use ''​sac2c''​ on a Windows 10 system is to use Window'​s own virtualisation
 +for Linux support, the Windows Subsystem for Linux (WSL).
 +To do this, you have to do four things:
 +  - You need to activate the developer mode of Windows. (Settings -> Update & Security -> For developers -> tick the Developer Mode)
 +  - You need to activate the WSL. (Control Panel -> Programs -> Programs & Features -> Turn Features On & Off -> tick Windows Subsystem for Linux)
 +  - Go to the Microsoft Store and choose a Linux Distribution of your choice, e.g, Ubuntu 18.04 LTS.
 +  - Download the //basic// version of ''​sac2c''​ and ''​sac-stdlib''​ that matches the Linux version you have chosen and install it. For Ubuntu, you download the corresponding ''​.deb''​ files and then run
 +<​code>​
 +$sudo apt update
 +$sudo apt install sac2c-VERSION-RELEASE.deb
 +$sudo apt install sac-stdlib-VERSION-RELEASE.deb
 +</​code>​
 +
 +After that, you should have the sac system up and running:
 +the SaC binaries are postfixed by their release type (production or debug), so there is a ''​sac2c_p''​ and ''​sac2c_d''​ respectively,​ ''​sac2c''​ is simply a link to ''​sac2c_p''​.
 </​panel>​ </​panel>​
 </​accordion>​ </​accordion>​