Occa

Latest version: v0.4.1

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

Scan your dependencies

Page 2 of 4

1.0.3

⚠️ Breaking Changes

Mode Properties

[d1fd6e0, 8691434] In order to standardize key names in `properties`, we're moving to `snake_case` which is a valid JSON5 identifier for JSON Objects. That way short-hand notations such as

js
{ mode: 'CUDA', device_id: 0 }

are still valid

Changes:

- `deviceID` → `device_id`
- `platformID` → `platform_id`
- `threadCount` → `threads`
- `pinnedCores` → `pinned_cores`
- `compilerFlags` → `compiler_flags`
- `compilerEnvScripts` → `compiler_env_scripts`

⭐️ Features
CLI
[7055d92] Added `-I/--include-path` and `-D/--define` to `occa transform` and `occa compile`
[a7c578c] Added `-v/--verbose` to add transform information in comments

🐛 Bugs Fixed
Parser
[80b9972] `oklForStatements` check the iterator's base type

🎉 Contributors

pdhahn

1.0.2

⚠️ Breaking Changes

JSON
[70c9ddf58f3de6d7635d2269ff0b0a51a87ab914] Swapped `dump` and `toString`

⭐️ Features
OKL
[6e760d23c008d5c686132369bb905b00ad5aa256] Added <type>{2,3,4} (such as `double2`, `double3`, `double4`)
[f5cf04b30d214c6cad1cbde13d9b66e7481bb983] `restrict` -> `restrict`

Sys
[145, 3fc6753ebf9aaf9e1890bc340957264ad254d0ed] Added `dlerror` messages to `dlopen` and `dlsym`

IO
[cb5eec725fe2c5e892a2d8e12a8fd3890f18068a] Fixed `~/` expansion

CLI
[d3bec390e9a7495e7bf513881932f347e2052fa7, 9d26399dc24aabff35ad13781198eb2f985da1a2] Added compile and translate options to `occa`

🐛 Bugs Fixed
Parser
[133, fd248c62df1fca4a6ae91fcc8871ff34c9f13e0c] Added vartype nodes for parenCast expressions
[136, 140, e672972bba4e7b6337ec9fd04a9de9b6285f5089] Added type expansion to get around issue
[147, f8a4ac81f3fc7bd16a1b49d1d779deab2dd39f51] Fixed statement attributes getting overridden
[db2f26361c6c72ac6a3cc4a05c516953c8b3a455] withLauncher success also depends on the host

🎉 Contributors

jedbrown

1.0.1

Bug Fixes

- aa757b954eaeb4478cfe8f2c235d81524e20e6bc Dims on GPU modes weren't being set properly

Testing

- 895bb70de59c1122b63b12f2d91edfc44b3b2bd4 Travis CI error logs cap at 4MB

1.0

cpp
occa::streamTag tag;

cl_event *event = (cl_event*) tag.handle;
CUevent *event = (CUevent*) tag.handle;


<a name="timer">Timer<a/>

The `occa::timer` was taken out since it seemed out of scope for the project.
An `occa::kernel` profiler might be added later though.

<a name="okl">OKL<a/>

A new parser is being developed for the sake of user-friendly error outputs and no memory leaks.
Additonally, it's made to be extended for future backends outside of the OCCA repository.
For that reason, the custom qualifiers such as `shared` and `exclusive` needed to be generalized.

Before the release of 1.0, the following keywords will be changed to attributes (e.g. `attr`)


shared -> shared
exclusive -> exclusive
kernel -> kernel
barrier -> barrier
restrict -> restrict
outer, outer0... -> outer, outer(0), ...
tile(256) -> tile(256)


Attributes are simliar to `pragmas` that can be ignored and are meant to be handled by each backend in its own way.
For example, `shared` doesn't mean anything in CPU modes.

<a name="missing-1.0-features">Missing 1.0 Features</a>
Stable C++ API, still missing updates on:
- [x] C API
- [ ] OKL Parser
- [ ] Backends
- [ ] Serial
- [ ] OpenMP
- [ ] OpenCL
- [ ] CUDA
- [ ] Threads
- [ ] Documentation
- [ ] API Testing

1.0.0

[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)

1.0.0alpha.6

[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++
- 99 `kernel::free()` removes itself from the device kernel cache

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.