Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable Clad in ADBench #1

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

parth-07
Copy link

@parth-07 parth-07 commented May 19, 2024

This adds primitive support for benchmarking Clad using ADBench.

Steps to enable benchmarking Clad using ADBench.

  1. Add Clad tool in run-all.ps using [Tool]::new function. We may want to add multiple variants of Clad for benchmarking Clad with TBR enabled/disabled and so on. We can specify which benchmarks we want to run using Clad.
  2. For each Clad tool we add, we need to add a directory in src/cpp/modules. This directory creates a library of the same name as the name of the tool added in step (1). This library should contain routines for running the derivative code of the benchmarks.
  3. For each benchmark, there is a driver class, ITest<BenchmarkInput, BenchmarkOutput>, where Benchmark = name of the benchmark. We need to implement a class that derives from this driver class for each benchmark we wish to support. The framework calls the member functions calculate_jacobian and calculate_objective of the driver class for benchmarking. The calculate_jacobian should compute jacobian using the clad-generated codes for the particular
    benchmark.

This PR adds support for benchmarking BA and GMM benchmarks with Clad.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant