Skip to content
Sergio Siccha edited this page Jan 20, 2019 · 20 revisions

Building HPC-GAP

Deprecation of ward

ward is a tool which parses and transforms the GAP C source code for HPC-GAP. Due to changes in the kernel gap-system/ward does not work with the master branch anymore. Therefore it was removed from the build process. There is work in progress to make do without ward, see HPCGAP-noward.

Building HPC-GAP

Note that without a working ward HPC-GAP can not detect when protected (e.g. read-only or shared) objects are illegally read from or even written to.

Clone the repository gap-system/gap into a folder called hpcgap:

git clone https://github.com/gap-system/gap hpcgap
cd hpcgap

Inside the cloned folder do:

./autogen.sh
./configure --enable-hpcgap
make

You can do make -j if you want to compile HPC-GAP in parallel. After you are done with this, you can use bin/gap.sh as usual to start HPC-GAP. We strongly recommend to start HPC-GAP with the -r option since your local customisation may not yet be compatible with HPC-GAP.

HPCGAP-noward

To try out the work in progress, first install unward from https://github.com/rbehrends/unward; we assume that it is stored in a directory called $UNWARD. To build it, do:

cd $UNWARD
./configure
make

After that, go to the GAP directory and build that:

./autogen.sh
./configure --enable-hpcgap
$UNWARD/bin/unward --inplace src
make

Building packages for use with HPC-GAP

Some of the GAP packages may run well in the main execution thread, but can not be used from other threads. For now, only the IO and orb packages are known to be somewhat compatible with HPC-GAP.

Building the documentation

For information on building the documentation refer to the wiki page Building main GAP manuals.

Troubleshooting

If any of the above instructions do not work or are in any way unclear, please contact ssiccha via email.

Clone this wiki locally