EnhancedSolver port complete #3

Merged
moebiusband merged 3 commits from :main into main 2024-09-19 10:47:47 +02:00
Contributor

Hello Dr. Eitzinger,
This pull request includes segregated Basic and Enhanced Solver. These versions are fully tested end-to-end and works in all generic cases.
Extensive regression and smoke testing is done with every configuration possible ( v1, v2, v3 with mg, rb, sor, also the ENABLE_MPI flag in mpi versions).
EnhancedSolver is built on top of BasicSolver, so the changes in BasicSolver reflects in EnhancedSolver.

Hello Dr. Eitzinger, This pull request includes segregated Basic and Enhanced Solver. These versions are fully tested end-to-end and works in all generic cases. Extensive regression and smoke testing is done with every configuration possible ( v1, v2, v3 with mg, rb, sor, also the ENABLE_MPI flag in mpi versions). EnhancedSolver is built on top of BasicSolver, so the changes in BasicSolver reflects in EnhancedSolver.
AdityaUjeniya added 1 commit 2024-07-27 02:21:37 +02:00
AdityaUjeniya requested review from moebiusband 2024-07-27 02:25:45 +02:00
moebiusband added 1 commit 2024-09-10 10:54:32 +02:00
moebiusband requested changes 2024-09-10 11:58:54 +02:00
moebiusband left a comment
Owner

Great work! Thank you.

I added some comments.
I suggest to move the residual output from progress to either main.c or a dedicated file. Maybe utils?

Otherwise it is minor things. Maybe we should switch from ICC to ICX as default. ICC is deprecated. But this is not urgent and we can also do it after the merge.

Great work! Thank you. I added some comments. I suggest to move the residual output from progress to either main.c or a dedicated file. Maybe utils? Otherwise it is minor things. Maybe we should switch from ICC to ICX as default. ICC is deprecated. But this is not urgent and we can also do it after the merge.
@ -15,3 +15,3 @@
int sum = 0;
for (int i = 0; i < position; i++) {
for (int i = 0; i < position; i += position) {
Owner

Is this correct? If yes, why is it a loop? It is always executed only one time?

Is this correct? If yes, why is it a loop? It is always executed only one time?
Author
Contributor

You were right, this function is not required in comm-v1.c in anymore. Removed.

You were right, this function is not required in comm-v1.c in anymore. Removed.
@ -268,2 +267,4 @@
#endif
}
void commUpdateDatatypes(Comm* oldcomm, Comm* newcomm, int imaxLocal, int jmaxLocal)
Owner

I saw this is used in the multigrid solver. Could you add a short comment here what this routine is used for.

I saw this is used in the multigrid solver. Could you add a short comment here what this routine is used for.
@ -50,2 +50,4 @@
fflush(stdout);
}
FILE* initResidualWriter()
Owner

I would not put it here, but in the main.c file. The general output is also in main and it is not a lot of code.

I would not put it here, but in the main.c file. The general output is also in main and it is not a lot of code.
@ -11,3 +11,3 @@
extern void printProgress(double);
extern void stopProgress();
extern FILE* initResidualWriter(void);
Owner

See above, put in main.c

See above, put in main.c
@ -1,12 +1,12 @@
# Supported: GCC, CLANG, ICC
TAG ?= CLANG
TAG ?= ICC
Owner

Maybe we should consider switching to ICX as ICC is deprecated

Maybe we should consider switching to ICX as ICC is deprecated
Author
Contributor

Done

Done
@ -50,2 +50,4 @@
fflush(stdout);
}
FILE* initResidualWriter()
Owner

As mentioned before. Put in main.c

As mentioned before. Put in main.c
@ -10,5 +10,7 @@
extern void initProgress(double);
extern void printProgress(double);
extern void stopProgress(void);
extern FILE* initResidualWriter(void);
Owner

Put in main.c

Put in main.c
@ -48,3 +48,18 @@ void stopProgress()
printf("\n");
fflush(stdout);
}
Owner

Please move everywhere to main.c or maybe put in separate compilation unit

Please move everywhere to main.c or maybe put in separate compilation unit
AdityaUjeniya added 1 commit 2024-09-16 13:51:31 +02:00
Author
Contributor

The requested changes has been done.

  1. Moved the residualWriter methods to main.
  2. Changed and tested with ICX.
  3. Removed sum() function from comm-v1.c
  4. Annotated the need for commUpdateDatatypes in MG.
The requested changes has been done. 1. Moved the residualWriter methods to main. 2. Changed and tested with ICX. 3. Removed sum() function from comm-v1.c 4. Annotated the need for commUpdateDatatypes in MG.
moebiusband merged commit d6aa1cf113 into main 2024-09-19 10:47:47 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: moebiusband/NuSiF-Solver#3
No description provided.