Skip to content

Script to help with removing the Ward dependency from HPC-GAP.

License

Notifications You must be signed in to change notification settings

rbehrends/unward

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Documentation

The unward tool is designed to modify GAP source files for use in HPC-GAP. We safeguard access to objects belonging to regions in HPC-GAP by inserting checks in ADDR_OBJ(), PTR_BAG(), CONST_ADDR_OBJ(), and CONST_PTR_BAG(). However, parts of the GAP kernel need to bypass those checks to implement concurrency primitives or for performance because we have statically checked that those checks are unnecessary.

Such regions are marked with the preprocessor directive:

#ifndef WARD_ENABLED

...

#endif

Code inside that calls any of the functions above (ADDR_OBJ() etc.) either directly or indirectly will be rewritten to use unsafe versions of the same functions. The rewriting process also generates the necessary unsafe functions.

Use ./configure && make to build the tool. The unward executable will be put in the bin directory.

Run unward --help for information on how it is used.

This tool depends on the AdLib library and uses the same license (see the README.AdLib.MD and LICENSE files for more information).

About

Script to help with removing the Ward dependency from HPC-GAP.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published