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 [2018/11/09 17:19]
hnv switched releases around
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 =====
  
-<callout type="​info"​ icon="​true">​ +Binary releases of the compiler and the standard library are provided in the following sectionsWe provide two release typesmajor releases and weekly releases.
-=== Package Compatibility === +
-Releases have been tested on specific operating system versionsThough some packages can be installed on newer or older systemswe advise against doing this. If you find a problem, please contact us (see at bottom of page of how to do this).+
  
-The packages below have been build against ​the following libraries **which need to be available on the system** in order to install ​the compiler: +<callout type="​primary"​ icon="​true">​ 
-  - CUDA 8.+=== Which release type should I use? === 
-  - HWLOC+At the moment, we suggest using one of the //weekly// release 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.
 </​callout>​ </​callout>​
 +
 +=== 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 features, like 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">​
 +=== Which variant should I use? ===
 +For normal usage, the **basic** variant is sufficient to try out all of the features of the Single Assignment C language.
 +</​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 ====
 +
 +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.
  
 <callout type="​warning"​ icon="​true">​ <callout type="​warning"​ icon="​true">​
-=== Stability ​=== +=== Releases have moved === 
-These packages ​are of the most recent (//bleeding-edge//​) state of the compilerThey are provided on a //best-effort// basis, but it is highly likely that the packages (and compiler) might not work correctly and negatively impact your systemYou have been warned! ​+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.
 </​callout>​ </​callout>​
  
-=== Ubuntu 14 === +== Weekly Release v1.3.3-383-1 (06.04.2020) ​== 
-{{filelist>​packages/​weekly/​Ubl14/sac*&​style=table&​tableheader=1&​recursive=1&​sort=name&​direct=1&​showdate=1&​showsize=1}} + 
-=== Ubuntu 16 === +^ System ^ Basic ^ Full ^ 
-{{filelist>​packages/​weekly/​Ubl16/sac*&​style=table&​tableheader=1&​recursive=1&​sort=name&​direct=1&​showdate=1&​showsize=1}} +| 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]] | 
-=== RHEL 6 === +| 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]] | 
-{{filelist>​packages/​weekly/​RHEL6/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=name&​direct=1&​showdate=1&​showsize=1}} +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]] |  | 
-=== RHEL 7 === +| 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/​RHEL7/sac*&​style=table&​tableheader=1&​recursive=1&​sort=name&​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]] | 
-=== Linux x64 === +| 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 | 
-{{filelist>​packages/​weekly/​Linux/sac*&style=table&​tableheader=1&​recursive=1&sort=name&​direct=1&​showdate=1&​showsize=1}}+ 
 + 
 +=== Extra === 
 +We also have some //​user-contributed//​ packages --- as these are packages outwith the project, we can not provide any support on these. Please communicate with the package maintainers directly. 
 + 
 +{{tablelayout?​colwidth=","​}} 
 +^ 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]] |
  
 ==== Major Release ==== ==== Major Release ====
  
 The following packages contain the latest //​major-number//​ release of ''​sac2c''​. The following packages contain the latest //​major-number//​ release of ''​sac2c''​.
 +
 +<callout type="​warning"​ icon="​true">​
 +=== Old releases ===
 +The packages provided here are **old** and not fully supported. Please use one of the [[download:​main#​weeklies_---_bleeding-edge_release|weekly packages]] instead.
 +</​callout>​
  
 === Ubuntu 14 === === Ubuntu 14 ===
-{{filelist>​packages/​release/​Ubl14/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=name&​direct=1&​showdate=1&​showsize=1}}+{{filelist>​packages/​release/​Ubl14/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}}
 === Ubuntu 16 === === Ubuntu 16 ===
-{{filelist>​packages/​release/​Ubl16/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=name&​direct=1&​showdate=1&​showsize=1}}+{{filelist>​packages/​release/​Ubl16/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}} 
 +=== Ubuntu 18 === 
 +{{filelist>​packages/​release/​Ubl18/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}}
 === RHEL 6 === === RHEL 6 ===
-{{filelist>​packages/​release/​RHEL6/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=name&​direct=1&​showdate=1&​showsize=1}}+{{filelist>​packages/​release/​RHEL6/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}}
 === RHEL 7 === === RHEL 7 ===
-{{filelist>​packages/​release/​RHEL7/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=name&​direct=1&​showdate=1&​showsize=1}}+{{filelist>​packages/​release/​RHEL7/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}}
 === Debian 7 === === Debian 7 ===
-{{filelist>​packages/​release/​Deb7/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=name&​direct=1&​showdate=1&​showsize=1}}+{{filelist>​packages/​release/​Deb7/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}}
 === Debian 8 === === Debian 8 ===
-{{filelist>​packages/​release/​Deb8/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=name&​direct=1&​showdate=1&​showsize=1}}+{{filelist>​packages/​release/​Deb8/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}}
 === Linux x64 === === Linux x64 ===
-{{filelist>​packages/​release/​Linux/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=name&​direct=1&​showdate=1&​showsize=1}}+{{filelist>​packages/​release/​Linux/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}}
 === MacOS X (10.12) === === MacOS X (10.12) ===
-{{filelist>​packages/​release/​mac10.12/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=name&​direct=1&​showdate=1&​showsize=1}} +{{filelist>​packages/​release/​mac10.12/​sac*&​style=table&​tableheader=1&​recursive=1&​sort=mtime&​direct=1&​showdate=1&​showsize=1}}
- +
-=== Extra === +
-We also have some //​user-contributed//​ packages --- as these are packages outwith the project, we can not provide any support on these. Please communicate with the package maintainers.  +
- +
-{{tablelayout?​colwidth=","​}} +
-^ OS ^ External Link ^ +
-| ArchLinux | via [[https://​aur.archlinux.org/​packages/​sac2c|AUR]] |+
  
 ==== Installing ==== ==== Installing ====
Line 69: 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 102: 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>​