IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
Clad tests will try to use the just-built Clang compiler. First, this
dependency was not declared properly, and now results in a cycle after
commit fe6c671e85 made clang depend on clad. Since we never run the
Clad tests, never build them.
This new release includes some improvements:
* Add experimental support for forward vector mode
* Add pushforwards for std::floor and std::ceil
* Improve AD function interfaces with bitmasked options. For example:
clad::differentiate<<clad::order::first, clad::opts::vector_mode>(f) will
be equivalent to clad::differentiate<<1, clad::opts::vector_mode>(f) and
will request the first order derivative of f in forward vector mode.
* LLVM16 Support
See more at: https://github.com/vgvassilev/clad/blob/v1.2/docs/internalDocs/ReleaseNotes.md
This new release includes some improvements:
* Improvements in the array handling in the Error Estimation Framework
* Fixed numerical stability of the pow pushforward
* Fixed handling of for-loop conditions in reverse mode
* LLVM15 Support
See more at: https://github.com/vgvassilev/clad/blob/v1.1/docs/internalDocs/ReleaseNotes.md
This new release includes some improvements:
* Add support for pushforward- and pullback-style functions
* More supported constructs in forward and reverse mode
* Forward mode support for CUDA programs
* AD-based Floating Point Error Estimation Framework
* Integration with Enzyme
See more at: https://github.com/vgvassilev/clad/blob/v1.0/docs/internalDocs/ReleaseNotes.md
This new release includes some improvements:
* Extended array support
* Add cmake variables to control the locations where find_package discovers LLVM and Clang: `LLVM_CONFIG_EXTRA_PATH_HINTS` and `Clang_CONFIG_EXTRA_PATH_HINTS` respectively.
See more at: https://github.com/vgvassilev/clad/blob/v0.9/docs/ReleaseNotes.md
* Update minimal CMake version in favour of advances features it offers
* Remove workaround for FindDoxygen (cmake < 3.13)
* Remnove workaround for cmake < 3.14 to able to report issue directly to stdout
* Remove workaround for CMake < 3.14 when Ninja 1.9.0 builds static libraries twice
* Remove other CMake hack from multi-python ROOT builds
* We are using 3.16 as a min CMake version and REGEX is definitely available in this version
* Remove code used to search Python2/Python3 with <= CMake 3.14
* [cmake] check for internet connection. Fixes#8292
This should fix an issue with external packages requiring an internet connection when working offline.
If there is no internet connection, they are either automatically disabled or raise a `FATAL_ERROR` if the `fail-on-missing` flag is `ON`
* Add forgotten "is" (thanks @pamputt)
* Add internet check for the forgotten 'davix' and 'ssl' options
* Change the timeout value and add information messages (thanks Axel)
* Let's download an existing file to test internet access
* Disable also clad if there is no internet connection
* Do not add the clad directory in case of no internet access
* Change the logic for clad with no internet connection
* disable clad early enough if there is no internet connection
* Disable also xrootd when disabling builtin_xrootd
The new release includes some improvements in Reverse mode:
* Reduce the quadratic cloning complexity to linear.
* Support variable reassignments pontentially depending on control flow.
* Support operators `+=`, `-=`, `*=`, `/=`, `,`, `++`, `--`.
* Allow assignments to array subscripts.
* Support nested assignments in expressions `a = b * ((c ? d : e) = f = g);`
* Enable differentiation of for-loops
See more at: https://github.com/vgvassilev/clad/blob/v0.6/docs/ReleaseNotes.md
This patch enables us to upgrade to llvm9. Clad supports from clang5 to clang9.
The new release includes some improvements in both Forward and
Reverse mode:
* Extend the way to specify a dependent variables. Consider function,
`double f(double x, double y, double z) {...}`, `clad::differentiate(f, "z")`
is equivalent to `clad::differentiate(f, 2)`. `clad::gradient(f, "x, y")`
differentiates with respect to `x` and `y` but not `z`. The gradient results
are stored in a `_result` parameter in the same order as `x` and `y` were
specified. Namely, the result of `x` is stored in `_result[0]` and the result
of `y` in `_result[1]`. If we invert the arguments specified in the string to
`clad::gradient(f, "y, x")` the results will be stored inversely.
* Enable recursive differentiation.
* Support single- and multi-dimensional arrays -- works for arrays with constant
size like `double A[] = {1, 2, 3};`, `double A[3];` or `double A[1][2][3][4];`
See more at: https://github.com/vgvassilev/clad/blob/v0.5/docs/ReleaseNotes.md
The new release includes some improvements in both Forward and
Reverse mode:
* Support `x += y`, `x -= y`, `x *= y`, `x /= y`, `x++`, `x--`, `++x`, `--x`
in forward mode.
* Reduce emission of unused expressions
* Add a special `#pragma clad ON/OFF/DEFAULT` to annotate regions which
contain derivatives
* Various small optimizations
See more at: https://github.com/vgvassilev/clad/blob/v0.4/docs/ReleaseNotes.md
The new release includes some improvements in both Forward and
Reverse mode:
* Better correctness of C++ constructs -- handle scopes properly; allow proper
variable shadowing; and preserve namespaces.
* Efficient evaluation in forward mode.
* Reduced cloning complexity.
* Handle more C++ constructs -- variable reassignments and for loops.
See more at: https://github.com/vgvassilev/clad/blob/v0.3/docs/ReleaseNotes.md