Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
download:sac2c [2020/04/06 10:19] – undo hnv | download:sac2c [2021/02/02 11:16] – hugely simplified the downloads page hnv |
---|
===== 1 Compiler: the sac2c ecosystem ===== | ===== Download Binaries ===== |
| |
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. | |
| |
<callout type="primary" icon="true"> | <callout type="primary" icon="true"> |
=== Which release type should I use? === | === Latest Release === |
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. | The latest release as of 01.02.2021 is [[https://gitlab.science.ru.nl/sac-group/sac-packages/-/releases/v1.3.3-572-1|v1.3.3-572-1]] |
</callout> | </callout> |
| |
| Binary releases of the compiler and the standard library are provided via our package repository, at https://gitlab.science.ru.nl/sac-group/sac-packages/-/releases. We support most //UNIX*// operating systems, including |
| **RPM**, **DEB**, and **MacOS**. Running on Windows is possible using [[https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux|WSL]]. |
| |
| Other operating systems may have packages, see [[:download:sac2c#rd-party_packages|3rd-party packages]]. |
| |
| Please message use on the [[:mailing_lists#user_mailing_lists|user mailing list]] if you encounter any problem. |
| |
=== Package Variants === | === Package Variants === |
| |
We provide two types of packages variants, **basic** and **full**. | We provide two types of packages variants, **basic** and **full**. |
| |
| <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> |
| |
<HTML> | <HTML> |
<dd>— package includes GPU backend and advanced multi-threading scheduling.</dd> | <dd>— package includes GPU backend and advanced multi-threading scheduling.</dd> |
<dd>— more external dependencies: <em>gcc, libc, uuid-lib, hwloc, cuda<em>*</em></em></dd> | <dd>— 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> | <dd>* <i>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.</i></dd> |
</dl> | </dl> |
</HTML> | </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]].// | === 3rd-Party Packages === |
| |
<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 ==== | |
| |
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"> | |
=== Releases have moved === | |
We now provide these packages via separate repository, at https://gitlab.science.ru.nl/sac-group/sac-packages/-/releases. There we provide the latest releases. | |
</callout> | |
| |
=== 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. | 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. |
| |
| 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]] | |
| |
==== Major Release ==== | ==== Installing ==== |
| |
The following packages contain the latest //major-number// release of ''sac2c''. | Please make sure that your system is properly setup to run SaC --- at the very least you need to have a working C-compiler. |
| |
<callout type="warning" icon="true"> | Note that on MacOS you must have Xcode installed and configured for command line usage. If you use [[https://www.brew.sh|brew]] or [[https://www.macports.org|macports]], this may already be done for you. |
=== 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 === | |
{{filelist>packages/release/Ubl14/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== Ubuntu 16 === | |
{{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 === | |
{{filelist>packages/release/RHEL6/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== RHEL 7 === | |
{{filelist>packages/release/RHEL7/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== Debian 7 === | |
{{filelist>packages/release/Deb7/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== Debian 8 === | |
{{filelist>packages/release/Deb8/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== Linux x64 === | |
{{filelist>packages/release/Linux/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== MacOS X (10.12) === | |
{{filelist>packages/release/mac10.12/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
| |
==== Installing ==== | |
| |
<accordion> | <accordion> |
<panel type="default" title="RPM (RedHat Based distributions)"> | <panel type="default" title="RPM (RedHat Based distributions)"> |
The ''rpm'' release of the compiler is designed to be installed on RedHat based distributions of Linux (e.g. RedHat, CentOS, Fedora, etc.) using the ''rpm'' tool set. | The ''rpm'' release of the compiler is designed to be installed on RedHat based distributions of Linux (e.g. RedHat, CentOS, Fedora, etc.) using the ''dnf'' or ''rpm'' tool set. |
| |
Installation: | Installation: |
| <code> |
| $ sudo dnf install sac2c-VERSION-RELEASE.rpm |
| </code> |
| or |
<code> | <code> |
$ sudo rpm --install sac2c-VERSION-RELEASE.rpm | $ sudo rpm --install sac2c-VERSION-RELEASE.rpm |