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
Next revisionBoth sides next revision
download:sac2c [2018/11/09 18:19] – switched releases around hnvdownload:sac2c [2020/04/06 10:44] – add date hnv
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>