Skip to content

Commit

Permalink
Merge branch 'alpi' into 'main'
Browse files Browse the repository at this point in the history
Replaces the nanos6 tasking api for the `alpi` interface

See merge request task-awareness/tasycl/tasycl!1
  • Loading branch information
kevinsala committed Nov 20, 2023
2 parents 73934fd + 4045ee1 commit 12a1c4e
Show file tree
Hide file tree
Showing 11 changed files with 613 additions and 406 deletions.
4 changes: 2 additions & 2 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This file is part of Task-Aware SYCL and is licensed under the terms contained in the COPYING and COPYING.LESSER files.
#
# Copyright (C) 2022 Barcelona Supercomputing Center (BSC)
# Copyright (C) 2022-2023 Barcelona Supercomputing Center (BSC)

ACLOCAL_AMFLAGS=-I m4

Expand Down Expand Up @@ -32,11 +32,11 @@ common_sources = \

noinst_HEADERS = \
src/common/Allocator.hpp \
src/common/ALPI.hpp \
src/common/Environment.hpp \
src/common/QueuePool.hpp \
src/common/RequestManager.hpp \
src/common/Symbol.hpp \
src/common/TaskingModelAPI.hpp \
src/common/TaskingModel.hpp \
src/common/util/EnvironmentVariable.hpp \
src/common/util/ErrorHandler.hpp \
Expand Down
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,15 @@ In order to install the TASYCL library, the main requirements are the following:
- Automake, autoconf, libtool, make and a C and C++ compiler that supports C++17.
- A SYCL implementation. TASYCL has been tested with OneAPI 2023.0.
- Boost library 1.59 or greater.
- OmpSs-2 (version 2022.11 or greater).
- One of the following parallel task-based programming models (required when compiling a user application):
- [OmpSs-2](https://github.com/bsc-pm/ompss-2-releases) (version 2023.11 or greater)
- The derivative implementation of [LLVM/OpenMP](https://github.com/bsc-pm/llvm)

### ALPI Tasking Interface

The Task-Aware SYCL library relies on the [ALPI](https://gitlab.bsc.es/alpi/alpi) interface to communicate with
the underlying tasking runtime system. This interface is internally used by TASYCL to spawn internal tasks, to
block user tasks, or add external events to them.

The required interface is ALPI 1.0 (or any compatible) and it is included in the [ALPI.hpp](src/common/ALPI.hpp)
header. Any tasking runtime system can support this TASYCL library by providing support to this interface version.
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# This file is part of Task-Aware SYCL and is licensed under the terms contained in the COPYING and COPYING.LESSER files.
#
# Copyright (C) 2022 Barcelona Supercomputing Center (BSC)
# Copyright (C) 2022-2023 Barcelona Supercomputing Center (BSC)

AC_PREREQ([2.69])
AC_INIT([tasycl], [1.0.0], [pm-tools@bsc.es])
Expand Down
Loading

0 comments on commit 12a1c4e

Please sign in to comment.