Occa

Latest version: v0.4.1

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

1.0.0alpha.5

[Checkout the v0.2 -> v1.0 Porting Guide](https://github.com/libocca/occa/releases/tag/v1.0.0-alpha.1porting-from-v0.2-to-v1.0)

Change Log

- C++
- 7b5dad16dd3d96e44a9291d9323bdfa65990da3f Added mode-specific properties. For example, only when running in `OpenCL` mode the kernel compilation will be verbose:
c++
{
kernel: { verbose: false },
mode: {
OpenCL: {
kernel: { verbose: true },
}
}
}

- 57746d5b5398e3f05efe4868444e593c8ad085f7 Added unicode parsing to `occa::json` (still keeps it as `\uXXXX` for the user to parse)

Bug Fixes
- C++
- 98 Setting `OCCA_VERBOSE` works
- C
- 2db622c480e439b4f60c9491260a1248261b0777 `occaPtr` fix

1.0.0alpha.4

[Checkout the v0.2 -> v1.0 Porting Guide](https://github.com/libocca/occa/releases/tag/v1.0.0-alpha.1porting-from-v0.2-to-v1.0)

Bug Fixes

- C
- 61fabfce11fdc6612774502597d557229528dfe1 Remove ambiguous call in some compilers

1.0.0alpha.3

[Checkout the v0.2 -> v1.0 Porting Guide](https://github.com/libocca/occa/releases/tag/v1.0.0-alpha.1porting-from-v0.2-to-v1.0)

Change Log

- C++
- 808f0b4c30d33b43ba3d29946fbc3369fbf13b77 Can fetch default kernel and memory properties

Bug Fixes

- C
- 808f0b4c30d33b43ba3d29946fbc3369fbf13b77 Fix on fetching kernel/memory properties

1.0.0alpha.2

[Checkout the v0.2 -> v1.0 Porting Guide](https://github.com/libocca/occa/releases/tag/v1.0.0-alpha.1porting-from-v0.2-to-v1.0)

Change Log

- C++
- 5249d4c0a69ce4eec6b52f2ab60d8eb1206ee002 Added occa::getKernelProperties() to setup default kernel properties (e.g. `props["headers"]` as an `array` type)

- C
- 1026ff679cd36115cb9966112f1e6063c502b700 C API now mirrors the C++ API

1.0.0alpha.1

<a name="porting-from-v0.2-to-v1.0">Porting from v0.2 -> v1.0</a>

* [Properties](properties)
* [Device](device)
* [Kernel](kernel)
* [Memory](memory)
* [Stream](stream)
* [Timer](timer)
* [OKL](okl)

<a name="properties">Properties</a>

The biggest change is the introduction of `occa::properties`.
We use `occa::properties` as a way to generalize the OCCA API to support current backends as well as future ones.

It supports [JSON format](http://www.json.org/) with some Javascript short-hand notations:

For example:

JSON:
{
"1": [1],
"2": 2,
"3": "3"
}
Shorthand:
{
1: [1,],
2: 2,
3: '3',
}


The differences:

* Supports trailing commas
* Doesn't require quotes for object keys
* Can use single quotes for strings

Since the `occa::properties` is a key-value store, it doesn't require the enclosing `{}`

0.2

cpp
occa::streamTag tag;

tag.clEvent;
tag.cuEvent;

Page 3 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.