Merging the new branch

This commit is contained in:
2024-07-08 09:52:11 +02:00
parent 28fec03be9
commit d5053b96ea
433 changed files with 5948 additions and 4848038 deletions

View File

@@ -33,7 +33,7 @@ $(BUILD_DIR)/%.o: %.c $(MAKE_DIR)/include_$(TAG).mk
$(BUILD_DIR)/%.s: %.c
$(info ===> GENERATE ASM $@)
$(CC) -S -fverbose-asm $(CPPFLAGS) $(CFLAGS) $< -o $@
$(CC) -S $(CPPFLAGS) $(CFLAGS) $< -o $@
.PHONY: clean distclean tags info asm

View File

@@ -1,5 +1,5 @@
# Supported: GCC, CLANG, ICC
TAG ?= ICC
TAG ?= CLANG
ENABLE_OPENMP ?= false
#Feature options

View File

@@ -7,8 +7,8 @@ OPENMP = -qopenmp
endif
VERSION = --version
CFLAGS = -O3 -xHost -fp-model=precise -qopt-zmm-usage=high -std=c99 $(OPENMP)
LFLAGS = $(OPENMP) -llikwid
DEFINES = -D_GNU_SOURCE -DLIKWID_PERFMON
INCLUDES = -I/apps/likwid/5.2.2/include
LIBS = -L/apps/likwid/5.2.2/lib
CFLAGS = -O3 -xHost -qopt-zmm-usage=high -std=c99 $(OPENMP)
LFLAGS = $(OPENMP)
DEFINES = -D_GNU_SOURCE
INCLUDES =
LIBS =

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -8,15 +8,15 @@ name poisson
xlength 1.0 # domain size in x-direction
ylength 1.0 # domain size in y-direction
imax 1000 # number of interior cells in x-direction
jmax 1000 # number of interior cells in y-direction
imax 300 # number of interior cells in x-direction
jmax 300 # number of interior cells in y-direction
# Pressure Iteration Data:
# -----------------------
itermax 10000 # maximal number of pressure iteration in one time step
itermax 1000000 # maximal number of pressure iteration in one time step
eps 0.000001 # stopping tolerance for pressure iteration
rho 0.99999 # relaxation parameter for SOR iteration
omg 1.991 # relaxation parameter for SOR iteration
rho 0.99999 # relaxation parameter for SOR iteration
omg 1.2 # relaxation parameter for SOR iteration
#===============================================================================

View File

@@ -40,27 +40,30 @@ int main(int argc, char** argv)
readParameter(&params, argv[1]);
// printParameter(&params);
initSolver(&solver, &params, 2);
if (argc == 3) {
variant = atoi(argv[2]);
}
if (argc == 4) {
sscanf("%lf", argv[2], &params.omg);
sscanf("%lf", argv[2], &params.rho);
}
initSolver(&solver, &params, 2);
switch (variant) {
case SOR:
// printf("Plain SOR\n");
printf("Plain SOR\n");
LIKWID_PROFILE("SOR", solve);
break;
case RB:
// printf("Red-black SOR\n");
printf("Red-black SOR\n");
LIKWID_PROFILE("RB", solveRB);
break;
case RBA:
// printf("Red-black SOR with acceleration\n");
printf("Red-black SOR with acceleration\n");
LIKWID_PROFILE("RBA", solveRBA);
break;
}
printf("Solution took %.2fs\n", endTime - startTime);
printf(" %.2fs\n", endTime - startTime);
// writeResult(&solver);
LIKWID_MARKER_CLOSE;

View File

@@ -7,8 +7,6 @@
#ifndef __SOLVER_H_
#define __SOLVER_H_
#include "parameter.h"
#include "timing.h"
typedef struct {
double dx, dy;