Skip to content

Commit 2d9f155

Browse files
committed
Update README.
1 parent 2048685 commit 2d9f155

1 file changed

Lines changed: 30 additions & 13 deletions

File tree

README.md

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,31 +23,48 @@ If you have a code that is differentiated with a serial AD tool and parallelize
2323
2. **Obtain a first parallel differentiated version of your code.** If your compiler supports OMPT, it suffices to add a few lines of code for the initialization and finalization of OpDiLib. Otherwise, you have to use OpDiLib's macro backend, which involves rewriting your OpenMP constructs according to OpDiLib's macro interface. Both approaches are demonstrated in the minimal example below.
2424
3. **Optimize the performance of the parallel reverse pass.** Check your parallel forward code for parts that do not involve shared reading. Use OpDiLib's adjoint access control tools to disable atomic adjoints for these parts. You may also revise your data access patterns to eliminate additional instances of shared reading.
2525

26-
## Publication
26+
## Publications
2727

28-
For further details about OpDiLib's design, features and modes of operation, please refer to our publication
28+
For further details about OpDiLib's design, features, and modes of operation, please refer to our publication
2929
[Event-Based Automatic Differentiation of OpenMP with OpDiLib](https://doi.org/10.1145/3570159).
30-
If you use OpDiLib in one of your applications and write a paper, please cite us!
3130

3231
~~~~{.txt}
3332
@article{BluehdornSG2023,
34-
author = {Bl\"{u}hdorn, Johannes and Sagebaum, Max and Gauger, Nicolas R.},
3533
title = {{Event-Based Automatic Differentiation of OpenMP with OpDiLib}},
34+
author = {Bl\"{u}hdorn, Johannes and Sagebaum, Max and Gauger, Nicolas R.},
3635
year = {2023},
37-
issue_date = {March 2023},
38-
publisher = {Association for Computing Machinery},
39-
address = {New York, NY, USA},
36+
month = {03},
37+
journal = {ACM Trans. Math. Softw.},
4038
volume = {49},
4139
number = {1},
42-
url = {https://doi.org/10.1145/3570159},
43-
doi = {10.1145/3570159},
44-
journal = {ACM Trans. Math. Softw.},
45-
month = {mar},
46-
articleno = {3},
47-
numpages = {31}
40+
note = {Article No.: 3},
41+
pages = {1--31},
42+
publisher = {Association for Computing Machinery},
43+
address = {New York, NY, USA},
44+
doi = {10.1145/3570159}
45+
}
46+
~~~~
47+
48+
Additional details on applying OpDiLib in a large software with an advanced AD workflow are given in our publication
49+
[Hybrid parallel discrete adjoints in SU2](https://doi.org/10.1016/j.compfluid.2024.106528).
50+
51+
~~~~{.txt}
52+
@article{BluehdornGAG2025,
53+
title = {Hybrid parallel discrete adjoints in {SU2}},
54+
author = {Bl\"{u}hdorn, Johannes and Gomes, Pedro and Aehle, Max and Gauger, Nicolas R.},
55+
year = {2025},
56+
month = {01},
57+
journal = {Computers & Fluids},
58+
volume = {289},
59+
note = {Article 106528},
60+
pages = {1--18},
61+
publisher = {Elsevier},
62+
doi = {10.1016/j.compfluid.2024.106528}
4863
}
4964
~~~~
5065

66+
If you use OpDiLib in one of your applications and write a paper, please cite us!
67+
5168
## Minimal Example
5269

5370
The following minimal example assumes that [CoDiPack](https://scicomp.rptu.de/software/codi/) is used as the underlying AD tool. You need CoDiPack [version 2.1](https://github.com/SciCompKL/CoDiPack/releases/tag/v2.1.0) or newer. For additional examples, please refer to OpDiLib's test suite.

0 commit comments

Comments
 (0)