You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OCCA now provides CMake package files which are configured during installation. These package files define an imported target, OCCA::libocca, and look for all required dependencies.
For example, the CMakeLists.txt of downstream projects using OCCA would include
In the case of a downstream library, linking OCCA using the PUBLIC specifier ensures that CMake will automatically forward OCCA's dependencies to applications which use the library.
During installation, the Env Modules file /modulefiles/occa is generated. When this module is loaded, paths to the installed bin, lib, and include directories are appended to environment variables such as PATH and LD_LIBRARY_PATH.
To use this modulefile, add the following line to your .modulerc file
When @inner loop ranges are known at compile-time, compiler optimization directives are added to translated kernel code for the CUDA, HIP, OpenCL, and SYCL backends.
If @inner loop ranges are passed as a kernel argument, the OKL translator will not automatically add optimization directives. In this case, the attribute @max_inner_dims can be used to achieve the same effect.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Features
CMake Package Files [#533]
OCCA now provides CMake package files which are configured during installation. These package files define an imported target,
OCCA::libocca
, and look for all required dependencies.For example, the CMakeLists.txt of downstream projects using OCCA would include
In the case of a downstream library, linking OCCA using the PUBLIC specifier ensures that CMake will automatically forward OCCA's dependencies to applications which use the library.
Environment Module [#580]
During installation, the Env Modules file /modulefiles/occa is generated. When this module is loaded, paths to the installed bin, lib, and include directories are appended to environment variables such as PATH and LD_LIBRARY_PATH.
To use this modulefile, add the following line to your .modulerc file
then call
Non-blocking Streams [#498]
The CUDA and HIP backends now support the creation of non-blocking streams.
An example has been added demonstrating how to enable this feature.
Additionally, a new API has been added wrap native backend streams [#525]
Profiling and Debugging
An interface has been added for logging the memory high watermark. [#522]
OCCA preprocessor error messages have also been improved [#572]
OKL
A new attribute,
@nobarrier
, prevents the automatic addition of barriers to@inner
loop blocks. [#544]Kernel Loop Ranges [#531]
When
@inner
loop ranges are known at compile-time, compiler optimization directives are added to translated kernel code for the CUDA, HIP, OpenCL, and SYCL backends.If
@inner
loop ranges are passed as a kernel argument, the OKL translator will not automatically add optimization directives. In this case, the attribute@max_inner_dims
can be used to achieve the same effect.Dependency Changes
Bugfixes
Contributors
OCCA is a community driven project that relies on the support of people like you. Thank you everyone who contributed to this release!
Full Changelog: v1.2.0...v1.3.0
This discussion was created from the release Release version 1.3.0.
Beta Was this translation helpful? Give feedback.
All reactions