Skip to content

Commit 850c5c3

Browse files
committed
Update a few sentences in paper.md
1 parent 28bb945 commit 850c5c3

2 files changed

Lines changed: 24 additions & 11 deletions

File tree

paper/paper.bib

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,24 @@ @article{jonasson2020
4848
number = {1},
4949
pages = {1--20},
5050
year = {2020},
51+
doi = {10.1145/3382191},
5152
publisher = {ACM New York, NY, USA}
5253
}
5354

5455
@article{giles2008,
5556
title = {An extended collection of matrix derivative results for forward and reverse mode automatic differentiation},
5657
author = {Giles, Mike},
5758
year = {2008},
58-
publisher = {Unspecified}
59+
}
60+
61+
@inproceedings{TAF,
62+
title = {{Applying TAF to generate efficient derivative code of Fortran 77-95 programs}},
63+
author = {Giering, Ralf and Kaminski, Thomas},
64+
booktitle = {{PAMM: Proceedings in Applied Mathematics and Mechanics}},
65+
volume = {2},
66+
number = {1},
67+
pages = {54--57},
68+
year = {2003},
69+
doi = {10.1002/pamm.200310014},
70+
organization = {Wiley Online Library}
5971
}

paper/paper.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,29 +27,30 @@ bibliography: paper.bib
2727

2828
# Summary
2929

30-
`diffblas` is a library that provides algorithmically differentiated [@griewank2008] BLAS routines from their reference implementations in [LAPACK](https://github.com/Reference-LAPACK/lapack) on GitHub using the automatic differentiation tool Tapenade [@tapenade].
30+
`diffblas` is a library that provides BLAS routines algorithmically differentiated using algorithmic differentiation principles [@griewank2008] from their reference implementations in [LAPACK](https://github.com/Reference-LAPACK/lapack) on GitHub using the automatic differentiation tool Tapenade [@tapenade].
3131
It supports four modes: forward (`_d`), vector forward (`_dv`), reverse (`_b`), and vector reverse (`_bv`).
3232

3333
In addition to differentiating the standard Fortran-style `BLAS` interface, `diffblas` also provides differentiated `CBLAS` routines, facilitating interoperability with C and other languages.
34-
Its API mirrors BLAS/CBLAS, with additional arguments specifying differentiation variables, making it straightforward to integrate into existing workflows.
34+
Its API mirrors BLAS / CBLAS, with additional arguments specifying differentiation variables, making integration into existing workflows straightforward.
3535

3636
`diffblas` calls the underlying standard `BLAS `implementation, and is agnostic to the backend (OpenBLAS, BLIS, MKL, Apple Accelerate), ensuring both performance and portability.
37+
Precompiled artifacts are available on GitHub to simplify installation and usage across different programming environments.
3738

38-
By providing accurate and efficient derivatives of linear algebra operations, `diffblas` facilitates gradient-based optimization, sensitivity analysis, and a wide range of scientific computing applications
39+
By providing efficient and accurate derivatives of linear algebra operations, `diffblas` facilitates gradient-based optimization, sensitivity analysis, and derivative-based workflows in scientific computing.
3940

4041
# Statement of need
4142

42-
Linear algebra routines such as those in LAPACK are fundamental to scientific computing, optimization, and machine learning.
43-
However, they do not provide derivatives, which are often required for gradient-based algorithms.
44-
Current approaches either rely on hand-coded derivatives or generic automatic differentiation applied to high-level code, which can be inefficient or error-prone.
43+
Linear algebra routines such as those in LAPACK are widely used in scientific computing, optimization, and machine learning. However, they do not provide derivatives, which are often required for gradient-based algorithms.
44+
45+
Existing approaches rely on hand-coded derivatives or generic automatic differentiation applied to high-level code, which can be inefficient or error-prone [@jonasson2020].
46+
4547
`diffblas` addresses this gap by providing algorithmically differentiated BLAS routines directly from reference LAPACK implementations and following relevant differntiation rules [@giles2008].
46-
This enables accurate and efficient computation of derivatives while preserving compatibility with existing BLAS-based codes.
4748

4849
# State of the field
4950

50-
Automatic differentiation (AD) tools such as Tapenade [@tapenade], ADOL-C [@ADOLC], or Taf provide general mechanisms to compute derivatives of code.
51-
However, applying AD naively to low-level BLAS or LAPACK routines can be inefficient due to loops, memory layout, and caching issues [@jonasson2020].
52-
Specialized libraries like diffblas that generate differentiated routines directly from reference implementations combine the reliability of LAPACK with the efficiency of AD, bridging a gap in current scientific computing workflows.
51+
Automatic source-to-source differentiation tools, such as Tapenade [@tapenade], ADOL-C [@ADOLC], or TAF [@TAF], provide general mechanisms to compute derivatives of code.
52+
However, naively applying AD to low-level BLAS or LAPACK routines can be inefficient due to loop structures, memory layout, and caching constraints [@jonasson2020].
53+
`diffblas` addresses these challenges by generating differentiated routines directly from reference LAPACK implementations, combining the reliability and performance of LAPACK with the efficiency of algorithmic differentiation.
5354

5455
# Research impact statement
5556

0 commit comments

Comments
 (0)