Skip to content

Commit 6d84a76

Browse files
committed
Merge branch 'develop' into fix/adjointAccessMode
2 parents c4a368d + 3bf83ff commit 6d84a76

122 files changed

Lines changed: 340 additions & 209 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

include/opdi.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* OpDiLib, an Open Multiprocessing Differentiation Library
33
*
44
* Copyright (C) 2020-2022 Chair for Scientific Computing (SciComp), TU Kaiserslautern
5-
* Copyright (C) 2023-2024 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
5+
* Copyright (C) 2023-2025 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
66
* Homepage: https://scicomp.rptu.de
77
* Contact: Prof. Nicolas R. Gauger (opdi@scicomp.uni-kl.de)
88
*

include/opdi.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* OpDiLib, an Open Multiprocessing Differentiation Library
33
*
44
* Copyright (C) 2020-2022 Chair for Scientific Computing (SciComp), TU Kaiserslautern
5-
* Copyright (C) 2023-2024 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
5+
* Copyright (C) 2023-2025 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
66
* Homepage: https://scicomp.rptu.de
77
* Contact: Prof. Nicolas R. Gauger (opdi@scicomp.uni-kl.de)
88
*

include/opdi/backend/backendInterface.hpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* OpDiLib, an Open Multiprocessing Differentiation Library
33
*
44
* Copyright (C) 2020-2022 Chair for Scientific Computing (SciComp), TU Kaiserslautern
5-
* Copyright (C) 2023-2024 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
5+
* Copyright (C) 2023-2025 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
66
* Homepage: https://scicomp.rptu.de
77
* Contact: Prof. Nicolas R. Gauger (opdi@scicomp.uni-kl.de)
88
*
@@ -42,6 +42,9 @@ namespace opdi {
4242
virtual std::size_t getNestedLockIdentifier(omp_nest_lock_t* lock) = 0;
4343

4444
virtual void* getParallelData() = 0;
45+
virtual void* getTaskData() = 0;
46+
47+
virtual void setInitialImplicitTaskData(void* data) = 0;
4548
};
4649

4750
extern BackendInterface* backend;

include/opdi/backend/macro/dataTools.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* OpDiLib, an Open Multiprocessing Differentiation Library
33
*
44
* Copyright (C) 2020-2022 Chair for Scientific Computing (SciComp), TU Kaiserslautern
5-
* Copyright (C) 2023-2024 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
5+
* Copyright (C) 2023-2025 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
66
* Homepage: https://scicomp.rptu.de
77
* Contact: Prof. Nicolas R. Gauger (opdi@scicomp.uni-kl.de)
88
*

include/opdi/backend/macro/implicitBarrierTools.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* OpDiLib, an Open Multiprocessing Differentiation Library
33
*
44
* Copyright (C) 2020-2022 Chair for Scientific Computing (SciComp), TU Kaiserslautern
5-
* Copyright (C) 2023-2024 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
5+
* Copyright (C) 2023-2025 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
66
* Homepage: https://scicomp.rptu.de
77
* Contact: Prof. Nicolas R. Gauger (opdi@scicomp.uni-kl.de)
88
*

include/opdi/backend/macro/macroBackend.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* OpDiLib, an Open Multiprocessing Differentiation Library
33
*
44
* Copyright (C) 2020-2022 Chair for Scientific Computing (SciComp), TU Kaiserslautern
5-
* Copyright (C) 2023-2024 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
5+
* Copyright (C) 2023-2025 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
66
* Homepage: https://scicomp.rptu.de
77
* Contact: Prof. Nicolas R. Gauger (opdi@scicomp.uni-kl.de)
88
*

include/opdi/backend/macro/macroBackend.hpp

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* OpDiLib, an Open Multiprocessing Differentiation Library
33
*
44
* Copyright (C) 2020-2022 Chair for Scientific Computing (SciComp), TU Kaiserslautern
5-
* Copyright (C) 2023-2024 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
5+
* Copyright (C) 2023-2025 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
66
* Homepage: https://scicomp.rptu.de
77
* Contact: Prof. Nicolas R. Gauger (opdi@scicomp.uni-kl.de)
88
*
@@ -25,6 +25,8 @@
2525

2626
#pragma once
2727

28+
#include <cassert>
29+
2830
#include "../../config.hpp"
2931

3032
#ifdef OPDI_BACKEND
@@ -57,9 +59,15 @@ namespace opdi {
5759

5860
void init() {
5961
opdi_init_lock(&ReductionTools::globalReducerLock);
62+
63+
// task data for initial implicit task is created in the logic layer
6064
}
6165

6266
void finalize() {
67+
// pop task data associated with initial implicit task
68+
DataTools::popTaskData();
69+
assert(DataTools::getTaskData() == nullptr);
70+
6371
opdi_set_lock(&ReductionTools::globalReducerLock);
6472

6573
for (auto lock : ReductionTools::individualReducerLocks) {
@@ -74,6 +82,15 @@ namespace opdi {
7482
void* getParallelData() {
7583
return DataTools::getParallelData();
7684
}
85+
86+
void* getTaskData() {
87+
return DataTools::getTaskData();
88+
}
89+
90+
void setInitialImplicitTaskData(void* data) {
91+
assert(DataTools::getTaskData() == nullptr);
92+
DataTools::pushTaskData(data);
93+
}
7794
};
7895

7996
}

include/opdi/backend/macro/macros.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* OpDiLib, an Open Multiprocessing Differentiation Library
33
*
44
* Copyright (C) 2020-2022 Chair for Scientific Computing (SciComp), TU Kaiserslautern
5-
* Copyright (C) 2023-2024 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
5+
* Copyright (C) 2023-2025 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
66
* Homepage: https://scicomp.rptu.de
77
* Contact: Prof. Nicolas R. Gauger (opdi@scicomp.uni-kl.de)
88
*

include/opdi/backend/macro/mutexIdentifiers.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* OpDiLib, an Open Multiprocessing Differentiation Library
33
*
44
* Copyright (C) 2020-2022 Chair for Scientific Computing (SciComp), TU Kaiserslautern
5-
* Copyright (C) 2023-2024 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
5+
* Copyright (C) 2023-2025 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
66
* Homepage: https://scicomp.rptu.de
77
* Contact: Prof. Nicolas R. Gauger (opdi@scicomp.uni-kl.de)
88
*

include/opdi/backend/macro/probeTools.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* OpDiLib, an Open Multiprocessing Differentiation Library
33
*
44
* Copyright (C) 2020-2022 Chair for Scientific Computing (SciComp), TU Kaiserslautern
5-
* Copyright (C) 2023-2024 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
5+
* Copyright (C) 2023-2025 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
66
* Homepage: https://scicomp.rptu.de
77
* Contact: Prof. Nicolas R. Gauger (opdi@scicomp.uni-kl.de)
88
*

0 commit comments

Comments
 (0)