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 [2019/09/08 10:32] – re orgonised the downloads section hnvdownload:sac2c [2020/04/06 10:31] – added table of newest release hnv
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-1 == 
-=== 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>