A C++ GraphBLAS interface that allows for the linear algebraic formulation of graph algorithms and more. It auto-optimises and auto-parallelises: you write the maths, the system does the rest!
A minimal communication layer for the implementation of immortal algorithms and for facilitating their broad use.
The Computing Systems Laboratory at the Huawei Zürich Research Center, Switzerland, is researching several software technologies that could be broadly categorised under the umbrella of Algebraic Programming (ALP): i.e., programming with explicit algebraic constructs.
We pursue this direction at various levels of the software stack: from compiler and IRs to low-level communication layers, DSLs, programming models, and libraries. Most projects relate to ongoing research; please see the below for a short description of each.
We invite anyone interested to download, try, use, contribute to, and join our open source projects collected here.
DISCLAIMER The repositories maintained here are part of our lab's research activities and as such, is provided on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. See also the licenses associated to each individual repository found under this page.
We are pleased to make available our C++ GraphBLAS implementation to the public.
An earlier version of this code was presented in our 2020 pre-print. The specification and implementation have developed since. We are preparing an updated paper and associated first tag of our C++ GraphBLAS.
We are still in the process of moving over fully our development efforts from our internal infrastructure to Gitee; the code may hence display some flux over the coming days.
We are pleased to make available to the public our Lightweight Parallel Foundations (LPF). This communication layer is designed to both implement and the wide use of immortal algorithms. The current code in our LPF repository is stable.
For more details, see the project's doxygen or the corresponding short paper on ArXiv.
Please make plenty use of the issue board; we encourage open interactions with everyone who wants to get involved. Our researchers will be making use of the exact same system.
We are happy to review external pull requests. Please make sure each PR is linked to an active issue. If your PR has no associated issue on the project's board yet, please make create one that clearly describes the bug or feature the proposed PR fixes or adds, respectively.
If you'd like to contact us directly, please don't hesitate to contact us at
Mailing lists, general and project-specific, will be set up later.