forked from moebiusband/NuSiF-Solver
		
	Prepare separation of solver for 2D-seq
This commit is contained in:
		@@ -18,7 +18,7 @@ include $(MAKE_DIR)/include_$(TAG).mk
 | 
			
		||||
INCLUDES  += -I$(SRC_DIR) -I$(BUILD_DIR)
 | 
			
		||||
 | 
			
		||||
VPATH     = $(SRC_DIR)
 | 
			
		||||
SRC       = $(wildcard $(SRC_DIR)/*.c)
 | 
			
		||||
SRC       = $(filter-out $(wildcard $(SRC_DIR)/*-*.c),$(wildcard $(SRC_DIR)/*.c))
 | 
			
		||||
ASM       = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.s, $(SRC))
 | 
			
		||||
OBJ       = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.o, $(SRC))
 | 
			
		||||
SOURCES   = $(SRC) $(wildcard $(SRC_DIR)/*.h)
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ ENABLE_OPENMP ?= false
 | 
			
		||||
 | 
			
		||||
#Feature options
 | 
			
		||||
OPTIONS +=  -DARRAY_ALIGNMENT=64
 | 
			
		||||
OPTIONS +=  -DVERBOSE
 | 
			
		||||
# OPTIONS +=  -DVERBOSE
 | 
			
		||||
#OPTIONS +=  -DDEBUG
 | 
			
		||||
#OPTIONS +=  -DBOUNDCHECK
 | 
			
		||||
#OPTIONS +=  -DVERBOSE_AFFINITY
 | 
			
		||||
 
 | 
			
		||||
@@ -26,8 +26,8 @@ p_init    0.0		# initial value for pressure
 | 
			
		||||
 | 
			
		||||
xlength    1.0		# domain size in x-direction
 | 
			
		||||
ylength    1.0		# domain size in y-direction
 | 
			
		||||
imax       40		# number of interior cells in x-direction
 | 
			
		||||
jmax       40		# number of interior cells in y-direction
 | 
			
		||||
imax       100		# number of interior cells in x-direction
 | 
			
		||||
jmax       100		# number of interior cells in y-direction
 | 
			
		||||
 | 
			
		||||
# Time Data:
 | 
			
		||||
# ---------
 | 
			
		||||
 
 | 
			
		||||
@@ -5,10 +5,13 @@
 | 
			
		||||
 * license that can be found in the LICENSE file.
 | 
			
		||||
 */
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
void* allocate(int alignment, size_t bytesize)
 | 
			
		||||
#include "allocate.h"
 | 
			
		||||
 | 
			
		||||
void* allocate(size_t alignment, size_t bytesize)
 | 
			
		||||
{
 | 
			
		||||
    int errorCode;
 | 
			
		||||
    void* ptr;
 | 
			
		||||
 
 | 
			
		||||
@@ -8,6 +8,6 @@
 | 
			
		||||
#define __ALLOCATE_H_
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
extern void* allocate(int alignment, size_t bytesize);
 | 
			
		||||
extern void* allocate(size_t alignment, size_t bytesize);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -4,23 +4,23 @@
 | 
			
		||||
 *      Author:   Jan Eitzinger (je), jan.eitzinger@fau.de
 | 
			
		||||
 *      Copyright (c) 2020 RRZE, University Erlangen-Nuremberg
 | 
			
		||||
 *
 | 
			
		||||
 *      Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
 * copy of this software and associated documentation files (the "Software"), to
 | 
			
		||||
 * deal in the Software without restriction, including without limitation the
 | 
			
		||||
 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 | 
			
		||||
 * sell copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
 *      Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
 *      of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
 *      in the Software without restriction, including without limitation the rights
 | 
			
		||||
 *      to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
 *      copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
 *      furnished to do so, subject to the following conditions:
 | 
			
		||||
 *
 | 
			
		||||
 *      The above copyright notice and this permission notice shall be included
 | 
			
		||||
 * in all copies or substantial portions of the Software.
 | 
			
		||||
 *      The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
 *      copies or substantial portions of the Software.
 | 
			
		||||
 *
 | 
			
		||||
 *      THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 | 
			
		||||
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
 *      FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
 *      LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 | 
			
		||||
 * IN THE SOFTWARE.
 | 
			
		||||
 *      THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
 *      IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
 *      FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
 *      AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
 *      LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
 *      OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
			
		||||
 *      SOFTWARE.
 | 
			
		||||
 *
 | 
			
		||||
 * =======================================================================================
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
@@ -7,18 +7,16 @@
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
 | 
			
		||||
double getTimeStamp()
 | 
			
		||||
double getTimeStamp(void)
 | 
			
		||||
{
 | 
			
		||||
    struct timespec ts;
 | 
			
		||||
    clock_gettime(CLOCK_MONOTONIC, &ts);
 | 
			
		||||
    return (double)ts.tv_sec + (double)ts.tv_nsec * 1.e-9;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
double getTimeResolution()
 | 
			
		||||
double getTimeResolution(void)
 | 
			
		||||
{
 | 
			
		||||
    struct timespec ts;
 | 
			
		||||
    clock_getres(CLOCK_MONOTONIC, &ts);
 | 
			
		||||
    return (double)ts.tv_sec + (double)ts.tv_nsec * 1.e-9;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
double getTimeStamp_() { return getTimeStamp(); }
 | 
			
		||||
 
 | 
			
		||||
@@ -7,8 +7,7 @@
 | 
			
		||||
#ifndef __TIMING_H_
 | 
			
		||||
#define __TIMING_H_
 | 
			
		||||
 | 
			
		||||
extern double getTimeStamp();
 | 
			
		||||
extern double getTimeResolution();
 | 
			
		||||
extern double getTimeStamp_();
 | 
			
		||||
extern double getTimeStamp(void);
 | 
			
		||||
extern double getTimeResolution(void);
 | 
			
		||||
 | 
			
		||||
#endif // __TIMING_H_
 | 
			
		||||
 
 | 
			
		||||
@@ -7,8 +7,7 @@
 | 
			
		||||
#ifndef __UTIL_H_
 | 
			
		||||
#define __UTIL_H_
 | 
			
		||||
#define HLINE                                                                            \
 | 
			
		||||
    "------------------------------------------------------------------------"           \
 | 
			
		||||
    "----\n"
 | 
			
		||||
    "----------------------------------------------------------------------------\n"
 | 
			
		||||
 | 
			
		||||
#ifndef MIN
 | 
			
		||||
#define MIN(x, y) ((x) < (y) ? (x) : (y))
 | 
			
		||||
@@ -20,4 +19,11 @@
 | 
			
		||||
#define ABS(a) ((a) >= 0 ? (a) : -(a))
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define P(i, j)   p[(j) * (imaxLocal + 2) + (i)]
 | 
			
		||||
#define F(i, j)   f[(j) * (imaxLocal + 2) + (i)]
 | 
			
		||||
#define G(i, j)   g[(j) * (imaxLocal + 2) + (i)]
 | 
			
		||||
#define U(i, j)   u[(j) * (imaxLocal + 2) + (i)]
 | 
			
		||||
#define V(i, j)   v[(j) * (imaxLocal + 2) + (i)]
 | 
			
		||||
#define RHS(i, j) rhs[(j) * (imaxLocal + 2) + (i)]
 | 
			
		||||
 | 
			
		||||
#endif // __UTIL_H_
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user