mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-06 22:55:08 +00:00
Renamed into test/pdegen, also in the C interface
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
project(pargen Fortran)
|
||||
|
||||
# Check for the installation path for psblas
|
||||
if(NOT DEFINED PSBLAS_INSTALL_DIR)
|
||||
message(FATAL_ERROR "Please specify the path to the psblas installation directory using -DPSBLAS_INSTALL_DIR=<path>")
|
||||
endif()
|
||||
|
||||
# Set the include and library directories based on the provided path
|
||||
set(INSTALLDIR "${PSBLAS_INSTALL_DIR}")
|
||||
set(INCDIR "${INSTALLDIR}/include")
|
||||
set(MODDIR "${INSTALLDIR}/modules")
|
||||
set(LIBDIR "${INSTALLDIR}/lib")
|
||||
|
||||
# Find the psblas package
|
||||
find_package(psblas REQUIRED PATHS ${INSTALLDIR})
|
||||
|
||||
# Include directories for the Fortran compiler
|
||||
include_directories(${INCDIR} ${MODDIR})
|
||||
|
||||
# Define executable directory
|
||||
set(EXEDIR "${CMAKE_CURRENT_SOURCE_DIR}/runs")
|
||||
|
||||
# Ensure the executable directory exists
|
||||
file(MAKE_DIRECTORY ${EXEDIR})
|
||||
|
||||
# Define sources for the executables
|
||||
set(SOURCES_D_PDE3D psb_d_pde3d.F90)
|
||||
set(SOURCES_S_PDE3D psb_s_pde3d.F90)
|
||||
set(SOURCES_D_PDE2D psb_d_pde2d.F90)
|
||||
set(SOURCES_S_PDE2D psb_s_pde2d.F90)
|
||||
|
||||
# Create executables
|
||||
add_executable(psb_d_pde3d ${SOURCES_D_PDE3D})
|
||||
target_link_libraries(psb_d_pde3d psblas::util psblas::linsolve psblas::prec psblas::base)
|
||||
|
||||
add_executable(psb_s_pde3d ${SOURCES_S_PDE3D})
|
||||
target_link_libraries(psb_s_pde3d psblas::util psblas::linsolve psblas::prec psblas::base)
|
||||
|
||||
add_executable(psb_d_pde2d ${SOURCES_D_PDE2D})
|
||||
target_link_libraries(psb_d_pde2d psblas::util psblas::linsolve psblas::prec psblas::base)
|
||||
|
||||
add_executable(psb_s_pde2d ${SOURCES_S_PDE2D})
|
||||
target_link_libraries(psb_s_pde2d psblas::util psblas::linsolve psblas::prec psblas::base)
|
||||
|
||||
# Set output directory for executables
|
||||
foreach(target psb_d_pde3d psb_s_pde3d psb_d_pde2d psb_s_pde2d)
|
||||
set_target_properties(${target} PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${EXEDIR}
|
||||
)
|
||||
endforeach()
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
INSTALLDIR=../..
|
||||
INCDIR=$(INSTALLDIR)/include
|
||||
MODDIR=$(INSTALLDIR)/modules/
|
||||
include $(INCDIR)/Make.inc.psblas
|
||||
#
|
||||
# Libraries used
|
||||
LIBDIR=$(INSTALLDIR)/lib
|
||||
PSBLAS_LIB= -L$(LIBDIR) -lpsb_util -lpsb_linsolve -lpsb_prec -lpsb_base
|
||||
LDLIBS=$(PSBLDLIBS)
|
||||
#
|
||||
# Compilers and such
|
||||
#
|
||||
CCOPT= -g
|
||||
FINCLUDES=$(FMFLAG)$(MODDIR) $(FMFLAG).
|
||||
|
||||
|
||||
EXEDIR=./runs
|
||||
|
||||
all: runsd psb_d_pde3d psb_s_pde3d psb_d_pde2d psb_s_pde2d
|
||||
|
||||
runsd:
|
||||
(if test ! -d runs ; then mkdir runs; fi)
|
||||
|
||||
psb_d_pde3d: psb_d_pde3d.o
|
||||
$(FLINK) psb_d_pde3d.o -o psb_d_pde3d $(PSBLAS_LIB) $(LDLIBS)
|
||||
/bin/mv psb_d_pde3d $(EXEDIR)
|
||||
|
||||
psb_s_pde3d: psb_s_pde3d.o
|
||||
$(FLINK) psb_s_pde3d.o -o psb_s_pde3d $(PSBLAS_LIB) $(LDLIBS)
|
||||
/bin/mv psb_s_pde3d $(EXEDIR)
|
||||
|
||||
psb_d_pde2d: psb_d_pde2d.o
|
||||
$(FLINK) psb_d_pde2d.o -o psb_d_pde2d $(PSBLAS_LIB) $(LDLIBS)
|
||||
/bin/mv psb_d_pde2d $(EXEDIR)
|
||||
|
||||
|
||||
psb_s_pde2d: psb_s_pde2d.o
|
||||
$(FLINK) psb_s_pde2d.o -o psb_s_pde2d $(PSBLAS_LIB) $(LDLIBS)
|
||||
/bin/mv psb_s_pde2d $(EXEDIR)
|
||||
|
||||
|
||||
clean:
|
||||
/bin/rm -f psb_d_pde3d.o psb_d_oacc_pde3d.o psb_s_pde3d.o psb_d_pde2d.o psb_s_pde2d.o *$(.mod) \
|
||||
$(EXEDIR)/psb_d_pde3d $(EXEDIR)/psb_s_pde3d $(EXEDIR)/psb_d_pde2d $(EXEDIR)/psb_s_pde2d
|
||||
verycleanlib:
|
||||
(cd ../..; make veryclean)
|
||||
lib:
|
||||
(cd ../../; make library)
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
||||
17 Number of entries below this
|
||||
BICGSTAB Iterative method BICGSTAB CGS BICG BICGSTABL RGMRES FCG CGR RICHARDSON
|
||||
BJAC Preconditioner NONE DIAG BJAC
|
||||
CSR Storage format for matrix A: CSR COO
|
||||
100 Domain size (acutal system is this**3 (pde3d) )
|
||||
3 Partition: 1 BLOCK 3 3D
|
||||
2 Stopping criterion 1 2
|
||||
0200 MAXIT
|
||||
10 ITRACE
|
||||
002 IRST restart for RGMRES and BiCGSTABL
|
||||
INVK Block Solver ILU,ILUT,INVK,INVT,AINV
|
||||
NONE If ILU : MILU or NONE othewise ignored
|
||||
NONE Scaling if ILUT: NONE, MAXVAL otherwise ignored
|
||||
0 Level of fill for forward factorization
|
||||
1 Level of fill for inverse factorization (only INVK,INVT)
|
||||
1E-1 Threshold for forward factorization
|
||||
1E-1 Threshold for inverse factorization (Only INVK, INVT)
|
||||
LLK What orthogonalization algorithm? (Only AINV)
|
||||
Reference in New Issue
Block a user