Merge branch 'development' into communication_v2

# Conflicts:
#	base/CMakeLists.txt
#	base/comm/internals/psi_cswapdata.F90
#	base/comm/internals/psi_dswapdata.F90
#	base/comm/internals/psi_iswapdata.F90
#	base/comm/internals/psi_lswapdata.F90
#	base/comm/internals/psi_sswapdata.F90
#	base/comm/internals/psi_zswapdata.F90
#	base/modules/Makefile
#	base/modules/comm/psb_i2_comm_mod.f90
#	base/modules/comm/psi_i2_comm_v_mod.f90
#	base/modules/serial/psb_i2_base_vect_mod.F90
#	test/computational_routines/spmm/spmm_checker
communication_v2
Stack-1 18 hours ago
commit f725ccdeeb

@ -1,6 +1,6 @@
$Format:%d%n%n$
# Fall back version, probably last release:
3.9.0
3.9.1
# PSBLAS version file.
#

36
.gitattributes vendored

@ -0,0 +1,36 @@
*.a export-ignore
*.o export-ignore
*.mod export-ignore
*.smod export-ignore
*~ export-ignore
.git* export-ignore
rsb export-ignore
rsb/ export-ignore
rsb/** export-ignore
Make.inc export-ignore
config export-ignore
config/ export-ignore
config/** export-ignore
configure.ac export-ignore
config.log export-ignore
config.status export-ignore
aclocal.m4 export-ignore
autogen.sh export-ignore
autom4te.cache export-ignore
Dockerfile export-ignore
.travis.yml export-ignore
# generated folder
./include/** export-ignore
./modules/** export-ignore
docs/src export-ignore
docs/doxypsb export-ignore
docs/Makefile export-ignore
# the executable from tests
test/computational_routines export-ignore
test/computational_routines export-ignore
test/omp export-ignore
test/openacc export-ignore
test/torture export-ignore

@ -4,7 +4,7 @@
#-----------------------------------
# Set oldest allowable CMake version
#-----------------------------------
cmake_minimum_required(VERSION 3.11)
cmake_minimum_required(VERSION 3.11...4.2)
cmake_policy(VERSION 3.11.1...3.13.3)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
@ -132,12 +132,10 @@ include("${CMAKE_CURRENT_LIST_DIR}/cmake/CapitalizeString.cmake")
message(STATUS "Using compiler ${CMAKE_C_COMPILER};")
# Define Major and Minor Version and Patch Level, String Version
set(PSBLASMAJOR "3")
set(PSBLASMINOR "9")
set(PSBLASPATCH "0")
set(PSBLASSTRING "\"3.9.0\"")
# Find PSBLAS constants
include(${CMAKE_CURRENT_LIST_DIR}/cmake/readPSBConst.cmake)
_psb_read_const()
_psb_read_desc_const()
# Set default values for IPK_SIZE and LPK_SIZE
set(DEFAULT_IPK_SIZE 4)
@ -427,6 +425,7 @@ find_package(METIS)
if(METIS_FOUND)
include(CheckTypeSize)
message(STATUS "METIS PATH ${METIS_INCLUDES} and metis libraries ${METIS_LIBRARIES}")
# Make sure this path is correct
# set(METISINCFILE "metis.h") # Adjust this to your actual path
@ -444,6 +443,9 @@ if(METIS_FOUND)
# Check for real sizes using try_compile
include(CheckCSourceCompiles)
#[=====[
# Function to check the size of a type
function(check_metis_real_type type_name)
set(source_code "
@ -455,25 +457,42 @@ if(METIS_FOUND)
}")
# Create a temporary source file
file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/test_size.c" "${source_code}")
#file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/test_size.c" "${source_code}")
# Try to compile it
try_compile(COMPILER_RESULT "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp"
"${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/test_size.c")
#try_compile(COMPILER_RESULT "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp"
# "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/test_size.c")
# Check the result and read the output
if (COMPILER_RESULT)
set(test_file "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/test_metis_size.c")
file(WRITE "${test_file}" "${source_code}")
# Use try_run to compile AND execute
try_run(RUN_RESULT COMPILE_RESULT
"${CMAKE_BINARY_DIR}"
"${test_file}"
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${METIS_INCLUDES}"
RUN_OUTPUT_VARIABLE type_size
COMPILE_OUTPUT_VARIABLE compile_log
)
if(COMPILE_RESULT AND (RUN_RESULT EQUAL 0))
# if (COMPILER_RESULT)
execute_process(COMMAND "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/test_size"
OUTPUT_VARIABLE type_size)
string(STRIP "${type_size}" type_size)
message(STATUS "Metis ?: ${type_size};")
if (type_name STREQUAL "float")
set(PSB_METIS_REAL_32 "${type_size}" PARENT_SCOPE)
message(STATUS "Metis 32: ${type_size}")
# add_definitions(-DPSB_METIS_REAL_32)
set(CREALMETIS "#define PSB_METIS_REAL_32" PARENT_SCOPE)
elseif (type_name STREQUAL "double")
set(PSB_METIS_REAL_64 "${type_size}" PARENT_SCOPE)
#add_definitions(-DPSB_METIS_REAL_64)
set(CREALMETIS "#define PSB_METIS_REAL_64" PARENT_SCOPE)
set(CREALMETIS "#define PSB_METIS_REAL_64" PARENT_SCOPE)
message(STATUS "Metis 64: ${type_size}")
endif()
else()
message(WARNING "Failed to compile test for type size: ${type_name}")
@ -483,44 +502,65 @@ if(METIS_FOUND)
# Check for both float and double
check_metis_real_type(float)
check_metis_real_type(double)
#]=====]
# Set HAVE_METIS if METIS is found
#add_compile_options(-DPSB_HAVE_METIS)
# set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DPSB_HAVE_METIS")
# Determine METIS_INDEX based on real type sizes
if(DEFINED PSB_METIS_REAL_32)
set(METIS_INDEX 32)
elseif(DEFINED PSB_METIS_REAL_64)
set(METIS_INDEX 64)
else()
message(WARNING "Neither METIS_REAL_32 nor METIS_REAL_64 is defined.")
set(METIS_INDEX 64) # Default to 64 if not defined
endif()
# Check conditions for LPK_SIZE and METIS_INDEX
if(LPK_SIZE STREQUAL "4")
if(METIS_INDEX STREQUAL "64")
# Mismatch between METIS size and PSBLAS LPK
message(FATAL " Mismatch between metis ${METIS_INDEX} size and psblas LPK size ${LPK_SIZE}")
set(METIS_FOUND FALSE)
# 1. Tell CMake where to find metis.h for the check
set(CMAKE_EXTRA_INCLUDE_FILES "${METIS_INCLUDES}/metis.h")
# 2. Check the size of Metis's own type: real_t
# This replaces checking 'float' and 'double' separately
check_type_size("real_t" METIS_REAL_SIZE)
check_type_size("idx_t" METIS_IDX_SIZE)
# 3. Handle the result
if(METIS_IDX_SIZE)
if(METIS_IDX_SIZE EQUAL 4)
set(CINTMETIS "#define PSB_METIS_32")
message(STATUS "Metis detected as 32-bit (idx_t is 4 bytes)")
set(METIS_INDEX 32)
elseif(METIS_IDX_SIZE EQUAL 8)
set(CINTMETIS "#define PSB_METIS_64")
message(STATUS "Metis detected as 64-bit (idx_t is 8 bytes)")
set(METIS_INDEX 64)
endif()
endif()
if(LPK_SIZE STREQUAL "8")
if(METIS_INDEX STREQUAL "32")
# Mismatch between METIS size and PSBLAS LPK
message(FATAL " Mismatch between metis ${METIS_INDEX} size and psblas LPK size ${LPK_SIZE}")
set(METIS_FOUND FALSE)
else()
message(WARNING "Could not determine size of idx_t from metis.h. Check METIS_INCLUDES.")
endif()
# 3. Handle the result
if(METIS_REAL_SIZE)
if(METIS_REAL_SIZE EQUAL 4)
set(CREALMETIS "#define PSB_METIS_REAL_32")
message(STATUS "Metis detected as 32-bit (real_t is 4 bytes)")
elseif(METIS_REAL_SIZE EQUAL 8)
set(CREALMETIS "#define PSB_METIS_REAL_64")
message(STATUS "Metis detected as 64-bit (real_t is 8 bytes)")
endif()
endif()
else()
message(WARNING "Could not determine size of real_t from metis.h. Check METIS_INCLUDES.")
endif()
# clean the variable
set(CMAKE_EXTRA_INCLUDE_FILES "")
# Mismatch Logic Below
if(LPK_SIZE STREQUAL "4" AND METIS_INDEX EQUAL 64)
message(WARNING "Mismatch: Metis IDX is 64-bit but PSBLAS LPK is 32-bit")
set(METIS_FOUND FALSE)
set(CREALMETIS "")
set(CINTMETIS "")
elseif(LPK_SIZE STREQUAL "8" AND METIS_INDEX EQUAL 32)
set(METIS_FOUND FALSE)
message(WARNING "Mismatch: Metis IDX is 32-bit but PSBLAS LPK is 64-bit")
set(CREALMETIS "")
set(CINTMETIS "")
endif()
if(METIS_FOUND)
if(METIS_FOUND)
# Make sure this path is correct
set(METISINCFILE "metis.h") # Adjust this to your actual path
@ -539,7 +579,7 @@ if(METIS_FOUND)
set(CHAVEMETIS "#define PSB_HAVE_METIS")
set(CINTMETIS "#define PSB_METIS_${METIS_INDEX}")
# set(CINTMETIS "#define PSB_METIS_${METIS_INDEX}")
# set(CREALMETIS "#define PSB_METIS_REAL_${LPK_SIZE}")
# Configure the header file
configure_file(${HEADER_TEMPLATE} ${HEADER_OUTPUT} @ONLY)
@ -644,7 +684,7 @@ install(EXPORT ${CMAKE_PROJECT_NAME}-targets
include(CMakePackageConfigHelpers) # standard CMake module
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}ConfigVersion.cmake"
VERSION "${psblas_VERSION}"
VERSION "${VERSION}"
COMPATIBILITY SameMajorVersion
)
@ -811,7 +851,7 @@ set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/modules)
message(STATUS "fortran module direcotry ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}")
message(STATUS "fortran module directory ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}")
include_directories(${MPI_Fortran_INCLUDE_PATH})
@ -827,6 +867,7 @@ set_target_properties(base
POSITION_INDEPENDENT_CODE TRUE
OUTPUT_NAME psb_base
LINKER_LANGUAGE Fortran
VERSION ${VERSION} SOVERSION ${SOVERSION}
)
target_include_directories(base PUBLIC
@ -859,6 +900,7 @@ set_target_properties(prec
POSITION_INDEPENDENT_CODE TRUE
OUTPUT_NAME psb_prec
LINKER_LANGUAGE Fortran
VERSION ${VERSION} SOVERSION ${SOVERSION}
)
target_include_directories(prec PUBLIC
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/modules>
@ -874,6 +916,7 @@ set_target_properties(linsolve
POSITION_INDEPENDENT_CODE TRUE
OUTPUT_NAME psb_linsolve
LINKER_LANGUAGE Fortran
VERSION ${VERSION} SOVERSION ${SOVERSION}
)
target_include_directories(linsolve PUBLIC
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/modules>
@ -890,6 +933,7 @@ set_target_properties(ext
POSITION_INDEPENDENT_CODE TRUE
OUTPUT_NAME psb_ext
LINKER_LANGUAGE Fortran
VERSION ${VERSION} SOVERSION ${SOVERSION}
)
target_include_directories(ext PUBLIC
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/modules>
@ -909,7 +953,8 @@ if(WIN32)
set_target_properties(psb_util_C
PROPERTIES
LINKER_LANGUAGE C
POSITION_INDEPENDENT_CODE TRUE)
POSITION_INDEPENDENT_CODE TRUE
VERSION ${VERSION} SOVERSION ${SOVERSION})
target_link_libraries(psb_util_C
PUBLIC kernel32 user32 shell32)
endif()
@ -935,6 +980,7 @@ set_target_properties(util
POSITION_INDEPENDENT_CODE TRUE
OUTPUT_NAME psb_util
LINKER_LANGUAGE Fortran
VERSION ${VERSION} SOVERSION ${SOVERSION}
)
target_include_directories(util PUBLIC
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/modules>
@ -995,6 +1041,7 @@ set_target_properties(cbind
POSITION_INDEPENDENT_CODE TRUE
OUTPUT_NAME psb_cbind
LINKER_LANGUAGE Fortran
VERSION ${VERSION} SOVERSION ${SOVERSION}
)
#target_include_directories(cbind PUBLIC
# $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/modules>
@ -1141,6 +1188,7 @@ if(PSB_BUILD_CUDA)
PROPERTIES
POSITION_INDEPENDENT_CODE TRUE
OUTPUT_NAME psb_cuda
VERSION ${VERSION} SOVERSION ${SOVERSION}
LINKER_LANGUAGE C)
# Include directories for the CUDA library

@ -1,7 +1,5 @@
Parallel Sparse BLAS version 3.9
(C) Copyright 2006-2025
Salvatore Filippone
Alfredo Buttari
(C) Copyright 2025 Salvatore Filippone
(C) Copyright 2025 Alfredo Buttari
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@ -13,7 +11,7 @@
documentation and/or other materials provided with the distribution.
3. The name of the PSBLAS group or the names of its contributors may
not be used to endorse or promote products derived from this
software without specific written permission.
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -1,9 +1,9 @@
set(PSB_base_source_files
comm/psb_dovrl_a.f90
comm/psb_dovrl.f90
# comm/psb_i2halo_a.f90
comm/psb_i2halo_a.f90
comm/internals/psi_zswaptran.F90
# comm/internals/psi_i2ovrl_upd_a.f90
comm/internals/psi_i2ovrl_upd_a.f90
comm/internals/psi_lovrl_save.f90
comm/internals/psi_movrl_save_a.f90
comm/internals/psi_sovrl_restr_a.f90
@ -17,7 +17,7 @@ set(PSB_base_source_files
comm/internals/psi_dswapdata_a.F90
comm/internals/psi_movrl_upd_a.f90
modules/comm/comm_schemes/psb_comm_rma_mod.F90
# comm/internals/psi_i2swaptran_a.F90
comm/internals/psi_i2swaptran_a.F90
comm/internals/psi_dswaptran.F90
comm/internals/psi_covrl_save_a.f90
comm/internals/psi_eovrl_restr_a.f90
@ -32,7 +32,7 @@ set(PSB_base_source_files
comm/internals/psi_sswaptran.F90
comm/internals/psi_lswaptran.F90
comm/internals/psi_mswaptran_a.F90
# comm/internals/psi_i2ovrl_restr_a.f90
comm/internals/psi_i2ovrl_restr_a.f90
comm/internals/psi_covrl_restr.f90
comm/internals/psi_mswapdata_a.F90
comm/internals/psi_zovrl_restr_a.f90
@ -50,14 +50,14 @@ set(PSB_base_source_files
comm/internals/psi_zswapdata_a.F90
comm/internals/psi_dovrl_save.f90
comm/internals/psi_covrl_save.f90
# comm/internals/psi_i2swapdata_a.F90
comm/internals/psi_i2swapdata_a.F90
comm/internals/psi_dovrl_upd.f90
comm/internals/psi_eovrl_save_a.f90
comm/internals/psi_zovrl_upd_a.f90
comm/internals/psi_zswapdata.F90
comm/internals/psi_covrl_upd.f90
comm/internals/psi_cswaptran.F90
# comm/internals/psi_i2ovrl_save_a.f90
comm/internals/psi_i2ovrl_save_a.f90
comm/internals/psi_sovrl_upd.f90
comm/internals/psi_eswapdata_a.F90
comm/internals/psi_movrl_restr_a.f90
@ -83,9 +83,9 @@ set(PSB_base_source_files
comm/psb_zhalo.f90
comm/psb_movrl_a.f90
comm/psb_chalo_a.f90
# comm/psb_i2scatter_a.F90
comm/psb_i2scatter_a.F90
comm/psb_sgather_a.f90
# comm/psb_i2ovrl_a.f90
comm/psb_i2ovrl_a.f90
comm/psb_zovrl_a.f90
comm/psb_covrl.f90
comm/psb_shalo.f90
@ -101,7 +101,7 @@ set(PSB_base_source_files
comm/psb_zhalo_a.f90
comm/psb_sscatter_a.F90
comm/psb_lscatter.F90
# comm/psb_i2gather_a.f90
comm/psb_i2gather_a.f90
comm/psb_ihalo.f90
comm/psb_iovrl.f90
comm/psb_zspgather.F90
@ -145,7 +145,7 @@ set(PSB_base_source_files
tools/psb_sins.f90
tools/psb_zspasb.f90
tools/psb_zspalloc.f90
# tools/psb_i2_remote_vect.F90
tools/psb_i2_remote_vect.F90
tools/psb_sfree_a.f90
tools/psb_cdprt.f90
tools/psb_c_glob_transpose.F90
@ -161,7 +161,7 @@ set(PSB_base_source_files
tools/psb_zallc_a.f90
tools/psb_d_map.f90
tools/psb_lfree.f90
# tools/psb_i2ins_a.f90
tools/psb_i2ins_a.f90
tools/psb_s_remap.F90
tools/psb_cspalloc.f90
tools/psb_glob_to_loc.f90
@ -178,9 +178,9 @@ set(PSB_base_source_files
tools/psb_sgetelem.f90
tools/psb_cspfree.f90
tools/psb_cins.f90
# tools/psb_i2free_a.f90
tools/psb_i2free_a.f90
tools/psb_dspins.F90
# tools/psb_i2asb_a.f90
tools/psb_i2asb_a.f90
tools/psb_dsphalo.F90
tools/psb_d_glob_transpose.F90
tools/psb_c_par_csr_spspmm.f90
@ -266,7 +266,7 @@ set(PSB_base_source_files
tools/psb_zspins.F90
tools/psb_zins_a.f90
tools/psb_cdcpy.F90
# tools/psb_i2allc_a.f90
tools/psb_i2allc_a.f90
tools/psb_dallc.f90
tools/psb_cd_renum_block.F90
tools/psb_dasb_a.f90
@ -352,7 +352,7 @@ set(PSB_base_source_files
serial/psb_ssymbmm.f90
serial/psb_cgeprt.f90
serial/psb_sgeprt.f90
# serial/psi_i2_serial_impl.F90
serial/psi_i2_serial_impl.F90
serial/psi_e_serial_impl.F90
serial/psb_zsymbmm.f90
serial/psb_cspspmm.F90
@ -431,11 +431,12 @@ set(PSB_base_source_files
psblas/psb_cinv_vect.f90
psblas/psb_zasum.f90
modules/comm/psi_z_comm_v_mod.f90
# modules/comm/psb_i2_comm_a_mod.f90
modules/comm/psb_m_comm_a_mod.f90
modules/comm/psb_m_comm_a_mod.f90
modules/comm/psb_z_linmap_mod.f90
modules/comm/psi_s_comm_a_mod.f90
# modules/comm/psi_i2_comm_a_mod.f90
modules/comm/psb_i2_comm_a_mod.f90
modules/comm/psi_i2_comm_a_mod.f90
modules/comm/psi_i2_comm_v_mod.f90
modules/comm/psi_m_comm_a_mod.f90
modules/comm/psi_l_comm_v_mod.f90
modules/comm/psb_comm_mod.F90
@ -463,7 +464,7 @@ set(PSB_base_source_files
modules/comm/psb_linmap_mod.f90
modules/comm/psb_z_comm_a_mod.f90
modules/comm/psi_c_comm_a_mod.f90
# modules/auxil/psb_i2_isort_mod.f90
modules/auxil/psb_i2_isort_mod.f90
modules/auxil/psb_z_ip_reord_mod.F90
modules/auxil/psi_s_serial_mod.f90
modules/auxil/psb_s_hsort_x_mod.f90
@ -471,7 +472,7 @@ set(PSB_base_source_files
modules/auxil/psb_d_hsort_mod.f90
modules/auxil/psi_alcx_mod.f90
modules/auxil/psb_e_ip_reord_mod.F90
# modules/auxil/psb_i2_msort_mod.f90
modules/auxil/psb_i2_msort_mod.f90
modules/auxil/psb_rb_idx_tree_mod.f90
modules/auxil/psb_m_isort_mod.f90
modules/auxil/psb_e_msort_mod.f90
@ -490,14 +491,15 @@ set(PSB_base_source_files
modules/auxil/psb_z_isort_mod.f90
modules/auxil/psb_e_hsort_mod.f90
modules/auxil/psi_m_serial_mod.f90
# modules/auxil/psi_i2_serial_mod.f90
modules/auxil/psi_i2_serial_mod.f90
modules/auxil/psb_i2_hsort_x_mod.f90
modules/auxil/psb_s_isort_mod.f90
modules/auxil/psb_e_realloc_mod.F90
modules/auxil/psb_c_hsort_mod.f90
modules/auxil/psb_z_msort_mod.f90
modules/auxil/psi_d_serial_mod.f90
modules/auxil/psb_z_qsort_mod.f90
# modules/auxil/psb_i2_hsort_mod.f90
modules/auxil/psb_i2_hsort_mod.f90
modules/auxil/psb_m_msort_mod.f90
modules/auxil/psb_m_ip_reord_mod.F90
modules/auxil/psb_string_mod.f90
@ -510,14 +512,14 @@ set(PSB_base_source_files
modules/auxil/psb_m_hsort_mod.f90
modules/auxil/psb_z_realloc_mod.F90
modules/auxil/psb_z_rb_idx_tree_mod.f90
# modules/auxil/psb_i2_ip_reord_mod.F90
# modules/auxil/psb_i2_realloc_mod.F90
modules/auxil/psb_i2_ip_reord_mod.F90
modules/auxil/psb_i2_realloc_mod.F90
modules/auxil/psb_s_rb_idx_tree_mod.f90
modules/auxil/psb_c_hsort_x_mod.f90
modules/auxil/psb_s_ip_reord_mod.F90
modules/auxil/psb_d_isort_mod.f90
modules/auxil/psi_z_serial_mod.f90
# modules/auxil/psb_i2_qsort_mod.f90
modules/auxil/psb_i2_qsort_mod.f90
modules/auxil/psb_d_msort_mod.f90
modules/auxil/psb_c_qsort_mod.f90
modules/auxil/psb_z_hsort_x_mod.f90
@ -534,7 +536,7 @@ set(PSB_base_source_files
modules/psi_l_mod.F90
modules/penv/psi_d_collective_mod.F90
modules/penv/psi_m_p2p_mod.F90
# modules/penv/psi_i2_collective_mod.F90
modules/penv/psi_i2_collective_mod.F90
modules/penv/psi_s_p2p_mod.F90
modules/penv/psi_e_p2p_mod.F90
modules/penv/psi_m_collective_mod.F90
@ -544,7 +546,7 @@ set(PSB_base_source_files
modules/penv/psi_z_p2p_mod.F90
modules/penv/psi_c_collective_mod.F90
modules/penv/psi_collective_mod.F90
# modules/penv/psi_i2_p2p_mod.F90
modules/penv/psi_i2_p2p_mod.F90
modules/penv/psi_c_p2p_mod.F90
modules/penv/psi_e_collective_mod.F90
modules/penv/psi_z_collective_mod.F90
@ -563,7 +565,7 @@ set(PSB_base_source_files
modules/tools/psb_d_tools_mod.F90
modules/tools/psb_c_tools_mod.F90
modules/tools/psb_e_tools_a_mod.f90
# modules/tools/psb_i2_tools_a_mod.f90
modules/tools/psb_i2_tools_a_mod.f90
modules/tools/psb_c_tools_a_mod.f90
modules/tools/psb_z_tools_mod.F90
modules/tools/psb_l_tools_mod.F90
@ -589,6 +591,7 @@ set(PSB_base_source_files
modules/serial/psb_s_base_mat_mod.F90
modules/serial/psb_base_mat_mod.F90
modules/serial/psb_i_base_vect_mod.F90
modules/serial/psb_i2_base_vect_mod.F90
modules/serial/psb_s_vect_mod.F90
modules/serial/psb_s_base_vect_mod.F90
modules/serial/psb_d_base_vect_mod.F90
@ -597,7 +600,8 @@ set(PSB_base_source_files
modules/serial/psb_c_vect_mod.F90
modules/serial/psb_d_mat_mod.F90
modules/serial/psb_s_mat_mod.F90
modules/serial/psb_i_vect_mod.F90
modules/serial/psb_i2_vect_mod.F90
modules/serial/psb_i_vect_mod.F90
modules/serial/psb_d_vect_mod.F90
modules/serial/psb_c_base_vect_mod.F90
modules/serial/psb_vect_mod.f90
@ -617,6 +621,7 @@ set(PSB_base_source_files
modules/psb_penv_mod.F90
modules/psb_error_mod.F90
modules/psb_timers_mod.f90
modules/psi_i2_mod.F90
modules/psi_i_mod.F90
modules/psi_z_mod.F90
modules/desc/psb_desc_const_mod.f90

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -8,6 +8,7 @@ OBJS = psb_dgather.o psb_dhalo.o psb_dovrl.o \
psb_zgather.o psb_zhalo.o psb_zovrl.o \
psb_dgather_a.o psb_dhalo_a.o psb_dovrl_a.o \
psb_sgather_a.o psb_shalo_a.o psb_sovrl_a.o \
psb_i2gather_a.o psb_i2halo_a.o psb_i2ovrl_a.o \
psb_mgather_a.o psb_mhalo_a.o psb_movrl_a.o \
psb_egather_a.o psb_ehalo_a.o psb_eovrl_a.o \
psb_cgather_a.o psb_chalo_a.o psb_covrl_a.o \
@ -18,7 +19,7 @@ MPFOBJS=psb_dscatter.o psb_zscatter.o \
psb_iscatter.o psb_lscatter.o \
psb_cscatter.o psb_sscatter.o \
psb_dscatter_a.o psb_zscatter_a.o \
psb_mscatter_a.o psb_escatter_a.o \
psb_mscatter_a.o psb_escatter_a.o psb_i2scatter_a.o \
psb_cscatter_a.o psb_sscatter_a.o \
psb_dspgather.o psb_sspgather.o \
psb_zspgather.o psb_cspgather.o

@ -6,6 +6,7 @@ FOBJS = psi_iovrl_restr.o psi_iovrl_save.o psi_iovrl_upd.o \
psi_dovrl_restr.o psi_dovrl_save.o psi_dovrl_upd.o \
psi_covrl_restr.o psi_covrl_save.o psi_covrl_upd.o \
psi_zovrl_restr.o psi_zovrl_save.o psi_zovrl_upd.o \
psi_i2ovrl_restr_a.o psi_i2ovrl_save_a.o psi_i2ovrl_upd_a.o \
psi_movrl_restr_a.o psi_movrl_save_a.o psi_movrl_upd_a.o \
psi_eovrl_restr_a.o psi_eovrl_save_a.o psi_eovrl_upd_a.o \
psi_sovrl_restr_a.o psi_sovrl_save_a.o psi_sovrl_upd_a.o \
@ -21,6 +22,7 @@ MPFOBJS = psi_dswapdata.o psi_dswaptran.o\
psi_zswapdata.o psi_zswaptran.o \
psi_dswapdata_a.o psi_dswaptran_a.o \
psi_sswapdata_a.o psi_sswaptran_a.o \
psi_i2swapdata_a.o psi_i2swaptran_a.o \
psi_mswapdata_a.o psi_mswaptran_a.o \
psi_eswapdata_a.o psi_eswaptran_a.o \
psi_cswapdata_a.o psi_cswaptran_a.o \
@ -37,8 +39,8 @@ lib: objs
$(RANLIB) $(LIBDIR)/$(LIBNAME)
$(FOBJS) $(FBOJS2): $(MODDIR)/psi_mod.o
mpfobjs:
(make $(MPFOBJS) FC="$(MPFC)" )
mpfobjs: $(MODDIR)/psi_mod.o
(make $(MPFOBJS) FC="$(MPFC)" )
clean:
/bin/rm -f $(MPFOBJS) $(FOBJS) $(COBJS) $(FOBJS2) $(MPFOBJS2) *$(.mod) *.smod

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -48,6 +48,7 @@ SERIAL_MODS=serial/psb_s_serial_mod.o serial/psb_d_serial_mod.o \
psi_mod.o psi_i2_mod.o psi_i_mod.o psi_l_mod.o psi_s_mod.o psi_d_mod.o psi_c_mod.o psi_z_mod.o\
auxil/psb_ip_reord_mod.o\
auxil/psi_acx_mod.o auxil/psi_alcx_mod.o auxil/psi_lcx_mod.o \
auxil/psb_i2_ip_reord_mod.o \
auxil/psb_m_ip_reord_mod.o auxil/psb_e_ip_reord_mod.o \
auxil/psb_s_ip_reord_mod.o auxil/psb_d_ip_reord_mod.o \
auxil/psb_c_ip_reord_mod.o auxil/psb_z_ip_reord_mod.o \
@ -65,6 +66,7 @@ SERIAL_MODS=serial/psb_s_serial_mod.o serial/psb_d_serial_mod.o \
auxil/psb_c_msort_mod.o auxil/psb_c_qsort_mod.o \
auxil/psb_z_hsort_mod.o auxil/psb_z_isort_mod.o \
auxil/psb_z_msort_mod.o auxil/psb_z_qsort_mod.o \
auxil/psb_i2_hsort_x_mod.o \
auxil/psb_i_hsort_x_mod.o \
auxil/psb_l_hsort_x_mod.o \
auxil/psb_s_hsort_x_mod.o \
@ -94,7 +96,7 @@ UTIL_MODS = desc/psb_desc_const_mod.o desc/psb_indx_map_mod.o\
tools/psb_i_tools_mod.o tools/psb_l_tools_mod.o \
tools/psb_s_tools_mod.o tools/psb_d_tools_mod.o\
tools/psb_c_tools_mod.o tools/psb_z_tools_mod.o \
tools/psb_m_tools_a_mod.o tools/psb_e_tools_a_mod.o \
tools/psb_i2_tools_a_mod.o tools/psb_m_tools_a_mod.o tools/psb_e_tools_a_mod.o \
tools/psb_s_tools_a_mod.o tools/psb_d_tools_a_mod.o\
tools/psb_c_tools_a_mod.o tools/psb_z_tools_a_mod.o \
tools/psb_tools_mod.o \
@ -192,6 +194,7 @@ penv/psi_d_collective_mod.o penv/psi_c_collective_mod.o penv/psi_z_collective_m
auxil/psi_acx_mod.o auxil/psi_alcx_mod.o auxil/psi_lcx_mod.o \
auxil/psb_string_mod.o auxil/psb_i2_realloc_mod.o auxil/psb_m_realloc_mod.o auxil/psb_e_realloc_mod.o \
auxil/psb_s_realloc_mod.o \
auxil/psb_d_realloc_mod.o auxil/psb_c_realloc_mod.o auxil/psb_z_realloc_mod.o \
desc/psb_desc_const_mod.o psi_penv_mod.o: psb_const_mod.o
@ -226,6 +229,7 @@ auxil/psb_sort_mod.o: auxil/psb_m_hsort_mod.o auxil/psb_m_isort_mod.o \
auxil/psb_c_msort_mod.o auxil/psb_c_qsort_mod.o \
auxil/psb_z_hsort_mod.o auxil/psb_z_isort_mod.o \
auxil/psb_z_msort_mod.o auxil/psb_z_qsort_mod.o \
auxil/psb_i2_hsort_x_mod.o \
auxil/psb_i_hsort_x_mod.o \
auxil/psb_l_hsort_x_mod.o \
auxil/psb_s_hsort_x_mod.o \
@ -249,18 +253,20 @@ auxil/psb_c_hsort_mod.o auxil/psb_c_isort_mod.o \
auxil/psb_c_msort_mod.o auxil/psb_c_qsort_mod.o \
auxil/psb_z_hsort_mod.o auxil/psb_z_isort_mod.o \
auxil/psb_z_msort_mod.o auxil/psb_z_qsort_mod.o \
auxil/psb_i2_hsort_x_mod.o \
auxil/psb_i_hsort_x_mod.o \
auxil/psb_l_hsort_x_mod.o \
auxil/psb_s_hsort_x_mod.o \
auxil/psb_d_hsort_x_mod.o \
auxil/psb_c_hsort_x_mod.o \
auxil/psb_z_hsort_x_mod.o \
auxil/psb_m_ip_reord_mod.o auxil/psb_e_ip_reord_mod.o \
auxil/psb_i2_ip_reord_mod.o auxil/psb_m_ip_reord_mod.o auxil/psb_e_ip_reord_mod.o \
auxil/psb_s_ip_reord_mod.o auxil/psb_d_ip_reord_mod.o \
auxil/psb_c_ip_reord_mod.o auxil/psb_z_ip_reord_mod.o : psb_realloc_mod.o psb_const_mod.o
auxil/psb_i2_hsort_x_mod.o: auxil/psb_m_hsort_mod.o auxil/psb_e_hsort_mod.o auxil/psb_i2_hsort_mod.o
auxil/psb_i_hsort_x_mod.o: auxil/psb_m_hsort_mod.o auxil/psb_e_hsort_mod.o auxil/psb_i2_hsort_mod.o
auxil/psb_i_hsort_x_mod.o: auxil/psb_m_hsort_mod.o auxil/psb_e_hsort_mod.o
auxil/psb_l_hsort_x_mod.o: auxil/psb_m_hsort_mod.o auxil/psb_e_hsort_mod.o
auxil/psb_s_hsort_x_mod.o: auxil/psb_s_hsort_mod.o
auxil/psb_d_hsort_x_mod.o: auxil/psb_d_hsort_mod.o
@ -274,7 +280,7 @@ auxil/psi_serial_mod.o: auxil/psi_i2_serial_mod.o auxil/psi_m_serial_mod.o auxi
auxil/psi_i2_serial_mod.o auxil/psi_m_serial_mod.o auxil/psi_e_serial_mod.o auxil/psi_s_serial_mod.o auxil/psi_d_serial_mod.o auxil/psi_c_serial_mod.o auxil/psi_z_serial_mod.o: psb_const_mod.o
auxil/psb_ip_reord_mod.o: auxil/psb_m_ip_reord_mod.o auxil/psb_e_ip_reord_mod.o \
auxil/psb_ip_reord_mod.o: auxil/psb_i2_ip_reord_mod.o auxil/psb_m_ip_reord_mod.o auxil/psb_e_ip_reord_mod.o \
auxil/psb_s_ip_reord_mod.o auxil/psb_d_ip_reord_mod.o \
auxil/psb_c_ip_reord_mod.o auxil/psb_z_ip_reord_mod.o
@ -287,8 +293,8 @@ serial/psb_s_base_mat_mod.o serial/psb_d_base_mat_mod.o serial/psb_c_base_mat_mo
serial/psb_s_base_mat_mod.o: serial/psb_s_base_vect_mod.o
serial/psb_d_base_mat_mod.o: serial/psb_d_base_vect_mod.o
#serial/psb_ld_base_mat_mod.o: serial/psb_d_base_vect_mod.o
serial/psb_c_base_mat_mod.o: serial/psb_c_base_vect_mod.o
serial/psb_z_base_mat_mod.o: serial/psb_z_base_vect_mod.o
serial/psb_c_base_mat_mod.o: serial/psb_c_base_vect_mod.o
serial/psb_z_base_mat_mod.o: serial/psb_z_base_vect_mod.o
serial/psb_i2_base_vect_mod.o: serial/psb_i_base_vect_mod.o comm/comm_schemes/psb_comm_schemes_mod.o comm/comm_schemes/psb_comm_factory_mod.o
serial/psb_l_base_vect_mod.o: serial/psb_i_base_vect_mod.o comm/comm_schemes/psb_comm_schemes_mod.o comm/comm_schemes/psb_comm_factory_mod.o
serial/psb_d_base_vect_mod.o serial/psb_c_base_vect_mod.o serial/psb_s_base_vect_mod.o serial/psb_z_base_vect_mod.o: serial/psb_i_base_vect_mod.o serial/psb_l_base_vect_mod.o comm/comm_schemes/psb_comm_neighbor_impl_mod.o comm/comm_schemes/psb_comm_schemes_mod.o comm/comm_schemes/psb_comm_factory_mod.o
@ -317,7 +323,7 @@ serial/psb_d_vect_mod.o: serial/psb_d_base_vect_mod.o serial/psb_i_vect_mod.o
serial/psb_c_vect_mod.o: serial/psb_c_base_vect_mod.o serial/psb_i_vect_mod.o
serial/psb_z_vect_mod.o: serial/psb_z_base_vect_mod.o serial/psb_i_vect_mod.o
serial/psb_s_serial_mod.o serial/psb_d_serial_mod.o serial/psb_c_serial_mod.o serial/psb_z_serial_mod.o: serial/psb_mat_mod.o auxil/psb_string_mod.o auxil/psb_sort_mod.o auxil/psi_serial_mod.o
serial/psb_vect_mod.o: serial/psb_i_vect_mod.o serial/psb_l_vect_mod.o serial/psb_d_vect_mod.o serial/psb_s_vect_mod.o serial/psb_c_vect_mod.o serial/psb_z_vect_mod.o
serial/psb_vect_mod.o: serial/psb_i2_vect_mod.o serial/psb_i_vect_mod.o serial/psb_l_vect_mod.o serial/psb_d_vect_mod.o serial/psb_s_vect_mod.o serial/psb_c_vect_mod.o serial/psb_z_vect_mod.o
auxil/psb_s_rb_idx_tree_mod.o: serial/psb_s_csr_mat_mod.o psb_realloc_mod.o
auxil/psb_d_rb_idx_tree_mod.o: serial/psb_d_csr_mat_mod.o psb_realloc_mod.o
@ -371,7 +377,7 @@ comm/psb_c_linmap_mod.o: comm/psb_base_linmap_mod.o serial/psb_c_mat_mod.o seria
comm/psb_z_linmap_mod.o: comm/psb_base_linmap_mod.o serial/psb_z_mat_mod.o serial/psb_z_vect_mod.o
comm/psb_base_linmap_mod.o: desc/psb_desc_mod.o serial/psb_serial_mod.o comm/psb_comm_mod.o
comm/psb_comm_mod.o: desc/psb_desc_mod.o serial/psb_mat_mod.o
comm/psb_comm_mod.o: comm/psb_i_comm_mod.o comm/psb_l_comm_mod.o \
comm/psb_comm_mod.o: comm/psb_i2_comm_mod.o comm/psb_i_comm_mod.o comm/psb_l_comm_mod.o \
comm/psb_s_comm_mod.o comm/psb_d_comm_mod.o \
comm/psb_c_comm_mod.o comm/psb_z_comm_mod.o \
comm/psb_i2_comm_a_mod.o \
@ -383,7 +389,8 @@ comm/psb_i2_comm_a_mod.o comm/psb_m_comm_a_mod.o comm/psb_e_comm_a_mod.o \
comm/psb_s_comm_a_mod.o comm/psb_d_comm_a_mod.o\
comm/psb_c_comm_a_mod.o comm/psb_z_comm_a_mod.o: desc/psb_desc_mod.o
comm/psb_i_comm_mod.o: serial/psb_i_vect_mod.o desc/psb_desc_mod.o
comm/psb_i2_comm_mod.o: serial/psb_i2_vect_mod.o desc/psb_desc_mod.o
comm/psb_i_comm_mod.o: serial/psb_i_vect_mod.o desc/psb_desc_mod.o
comm/psb_l_comm_mod.o: serial/psb_l_vect_mod.o desc/psb_desc_mod.o
comm/psb_s_comm_mod.o: serial/psb_s_vect_mod.o desc/psb_desc_mod.o serial/psb_mat_mod.o
comm/psb_d_comm_mod.o: serial/psb_d_vect_mod.o desc/psb_desc_mod.o serial/psb_mat_mod.o
@ -408,14 +415,15 @@ comm/psi_c_comm_a_mod.o comm/psi_z_comm_a_mod.o: desc/psb_desc_mod.o
tools/psb_tools_mod.o: tools/psb_cd_tools_mod.o tools/psb_s_tools_mod.o tools/psb_d_tools_mod.o\
tools/psb_i_tools_mod.o tools/psb_l_tools_mod.o \
tools/psb_c_tools_mod.o tools/psb_z_tools_mod.o \
tools/psb_m_tools_a_mod.o tools/psb_e_tools_a_mod.o \
tools/psb_i2_tools_a_mod.o tools/psb_m_tools_a_mod.o tools/psb_e_tools_a_mod.o \
tools/psb_s_tools_a_mod.o tools/psb_d_tools_a_mod.o\
tools/psb_c_tools_a_mod.o tools/psb_z_tools_a_mod.o
tools/psb_cd_tools_mod.o tools/psb_i_tools_mod.o tools/psb_l_tools_mod.o \
tools/psb_s_tools_mod.o tools/psb_d_tools_mod.o \
tools/psb_c_tools_mod.o tools/psb_z_tools_mod.o tools/psb_m_tools_a_mod.o tools/psb_e_tools_a_mod.o \
tools/psb_c_tools_mod.o tools/psb_z_tools_mod.o \
tools/psb_i2_tools_a_mod.o tools/psb_m_tools_a_mod.o tools/psb_e_tools_a_mod.o \
tools/psb_s_tools_a_mod.o tools/psb_d_tools_a_mod.o\
tools/psb_c_tools_a_mod.o tools/psb_z_tools_a_mod.o: desc/psb_desc_mod.o psi_mod.o serial/psb_mat_mod.o

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@ -37,6 +37,7 @@
!
!
module psb_ip_reord_mod
use psb_i2_ip_reord_mod
use psb_m_ip_reord_mod
use psb_e_ip_reord_mod
use psb_s_ip_reord_mod

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@ -46,7 +46,12 @@ module psb_sort_mod
use psb_const_mod
use psb_ip_reord_mod
use psi_serial_mod
use psb_i2_hsort_mod
use psb_i2_isort_mod
use psb_i2_msort_mod
use psb_i2_qsort_mod
use psb_m_hsort_mod
use psb_m_isort_mod
use psb_m_msort_mod
@ -77,6 +82,7 @@ module psb_sort_mod
use psb_z_msort_mod
use psb_z_qsort_mod
use psb_i2_hsort_x_mod
use psb_i_hsort_x_mod
use psb_l_hsort_x_mod
use psb_s_hsort_x_mod

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@ -31,6 +31,7 @@
!
module psb_comm_mod
use psb_i2_comm_a_mod
use psb_m_comm_a_mod
use psb_e_comm_a_mod
use psb_s_comm_a_mod

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -15,7 +15,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@ -31,6 +31,7 @@
!
module psi_collective_mod
use psi_penv_mod
use psi_i2_collective_mod
use psi_m_collective_mod
use psi_e_collective_mod
use psi_s_collective_mod

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@ -33,6 +33,7 @@
module psi_p2p_mod
use psi_penv_mod
use psi_i2_p2p_mod
use psi_m_p2p_mod
use psi_e_p2p_mod
use psi_s_p2p_mod

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@ -1035,6 +1035,8 @@ contains
! !$ call psb_error(ctxt)
! !$ endif
! !$ endif
if (close_) call psb_clear_vect_defaults()
if (close_) call psb_clear_mat_defaults()
#if defined(PSB_SERIAL_MPI)
! Under serial mode, CLOSE has no effect, but reclaim
! the used ctxt number.
@ -1045,12 +1047,6 @@ contains
else
call psb_close_context(psb_mesg_queue,ctxt)
end if
!if ((ctxt /= mpi_comm_null).and.(ctxt /= mpi_comm_world)) then
if (allocated(ctxt%ctxt)) then
!write(0,*) ctxt%ctxt,mpi_comm_world,mpi_comm_null
if ((ctxt%ctxt /= mpi_comm_world).and.(ctxt%ctxt /= mpi_comm_null)) &
& call mpi_comm_Free(ctxt%ctxt,info)
end if
if (close_) then
if (info == 0) call mpi_op_free(mpi_i2amx_op,info)
if (info == 0) call mpi_op_free(mpi_i2amn_op,info)
@ -1069,12 +1065,16 @@ contains
if (info == 0) call mpi_op_free(mpi_snrm2_op,info)
if (info == 0) call mpi_op_free(mpi_dnrm2_op,info)
end if
if (allocated(ctxt%ctxt)) then
!!$ write(0,*) ctxt%ctxt,mpi_comm_world,mpi_comm_null,mpi_comm_self
if ((ctxt%ctxt /= mpi_comm_world).and.(ctxt%ctxt /= mpi_comm_null).and.&
& (ctxt%ctxt /= mpi_comm_self)) &
& call mpi_comm_Free(ctxt%ctxt,info)
end if
if (close_) call mpi_finalize(info)
#endif
if (close_) call psb_clear_vect_defaults()
if (close_) call psb_clear_mat_defaults()
end subroutine psb_exit_mpik

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@ -509,7 +509,6 @@ contains
write(tmpmsg,'("PSBLAS Error (",i0,") in subroutine: ",a)')&
& err_c,trim(r_name)
end if
select case (err_c)
case(:psb_success_)

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@ -36,6 +36,7 @@ module psi_mod
use psb_const_mod
use psb_error_mod
use psb_penv_mod
use psi_i2_mod
use psi_i_mod
use psi_l_mod
use psi_s_mod

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -33,7 +33,7 @@
! package: psb_i2_base_vect_mod
!
! This module contains the definition of the psb_i2_base_vect type which
! is a container for dense vectors.\
! is a container for dense vectors.
! This is encapsulated instead of being just a simple array to allow for
! more complicated situations, such as GPU programming, where the memory
! area we are interested in is not easily accessible from the host/Fortran
@ -66,6 +66,7 @@ module psb_i2_base_vect_mod
integer(psb_i2pk_), allocatable :: v(:)
integer(psb_i2pk_), allocatable :: combuf(:)
class(psb_comm_handle_type), allocatable :: comm_handle
integer(psb_mpk_), allocatable :: comid(:,:)
!> vector bldstate:
!! null: pristine;
@ -142,7 +143,9 @@ module psb_i2_base_vect_mod
procedure, nopass :: device_wait => i2_base_device_wait
procedure, pass(x) :: maybe_free_buffer => i2_base_maybe_free_buffer
procedure, pass(x) :: free_buffer => i2_base_free_buffer
procedure, pass(x) :: new_comid => i2_base_new_comid
procedure, pass(x) :: free_comid => i2_base_free_comid
!
! Basic info
procedure, pass(x) :: get_nrows => i2_base_get_nrows
@ -758,6 +761,7 @@ contains
info = 0
if (allocated(x%v)) deallocate(x%v, stat=info)
if ((info == 0).and.allocated(x%combuf)) call x%free_buffer(info)
if ((info == 0).and.allocated(x%comid)) call x%free_comid(info)
if ((info == 0).and.allocated(x%iv)) deallocate(x%iv, stat=info)
if ((info == 0).and.allocated(x%comm_handle)) then
call psb_comm_free(x%comm_handle, info_comm)
@ -808,6 +812,24 @@ contains
& call x%free_buffer(info)
end subroutine i2_base_maybe_free_buffer
!
!> Function base_free_comid:
!! \memberof psb_i2_base_vect_type
!! \brief Free aux MPI communication id buffer
!!
!! \param info return code
!!
!
subroutine i2_base_free_comid(x,info)
use psb_realloc_mod
implicit none
class(psb_i2_base_vect_type), intent(inout) :: x
integer(psb_ipk_), intent(out) :: info
if (allocated(x%comid)) &
& deallocate(x%comid,stat=info)
end subroutine i2_base_free_comid
function i2_base_get_ncfs(x) result(res)
implicit none
@ -1280,6 +1302,17 @@ contains
call psb_realloc(n,x%combuf,info)
end subroutine i2_base_new_buffer
subroutine i2_base_new_comid(n,x,info)
use psb_realloc_mod
implicit none
class(psb_i2_base_vect_type), intent(inout) :: x
integer(psb_ipk_), intent(in) :: n
integer(psb_ipk_), intent(out) :: info
call psb_realloc(n,2_psb_ipk_,x%comid,info)
end subroutine i2_base_new_comid
!
! shortcut alpha=1 beta=0
!
@ -1394,6 +1427,7 @@ module psb_i2_base_multivect_mod
integer(psb_i2pk_), allocatable :: v(:,:)
integer(psb_i2pk_), allocatable :: combuf(:)
class(psb_comm_handle_type), allocatable :: comm_handle
integer(psb_mpk_), allocatable :: comid(:,:)
!> vector bldstate:
!! null: pristine;
@ -1481,6 +1515,8 @@ module psb_i2_base_multivect_mod
procedure, nopass :: device_wait => i2_base_mlv_device_wait
procedure, pass(x) :: maybe_free_buffer => i2_base_mlv_maybe_free_buffer
procedure, pass(x) :: free_buffer => i2_base_mlv_free_buffer
procedure, pass(x) :: new_comid => i2_base_mlv_new_comid
procedure, pass(x) :: free_comid => i2_base_mlv_free_comid
!
! Gather/scatter. These are needed for MPI interfacing.
@ -2278,6 +2314,16 @@ contains
call psb_realloc(n*nc,x%combuf,info)
end subroutine i2_base_mlv_new_buffer
subroutine i2_base_mlv_new_comid(n,x,info)
use psb_realloc_mod
implicit none
class(psb_i2_base_multivect_type), intent(inout) :: x
integer(psb_ipk_), intent(in) :: n
integer(psb_ipk_), intent(out) :: info
call psb_realloc(n,2_psb_ipk_,x%comid,info)
end subroutine i2_base_mlv_new_comid
subroutine i2_base_mlv_maybe_free_buffer(x,info)
use psb_realloc_mod
@ -2302,6 +2348,17 @@ contains
& deallocate(x%combuf,stat=info)
end subroutine i2_base_mlv_free_buffer
subroutine i2_base_mlv_free_comid(x,info)
use psb_realloc_mod
implicit none
class(psb_i2_base_multivect_type), intent(inout) :: x
integer(psb_ipk_), intent(out) :: info
if (allocated(x%comid)) &
& deallocate(x%comid,stat=info)
end subroutine i2_base_mlv_free_comid
!
! Gather: Y = beta * Y + alpha * X(IDX(:))
!

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -1,4 +1,5 @@
module psb_vect_mod
use psb_i2_vect_mod
use psb_i_vect_mod
use psb_l_vect_mod
use psb_s_vect_mod

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@ -31,6 +31,7 @@
!
module psb_tools_mod
use psb_cd_tools_mod
use psb_i2_tools_a_mod
use psb_e_tools_a_mod
use psb_m_tools_a_mod
use psb_s_tools_a_mod

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -1,7 +1,7 @@
include ../../Make.inc
FOBJS = psb_lsame.o psi_m_serial_impl.o psi_e_serial_impl.o \
FOBJS = psb_lsame.o psi_m_serial_impl.o psi_e_serial_impl.o psi_i2_serial_impl.o \
psi_s_serial_impl.o psi_d_serial_impl.o \
psi_c_serial_impl.o psi_z_serial_impl.o \
psb_srwextd.o psb_drwextd.o psb_crwextd.o psb_zrwextd.o \

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

@ -14,7 +14,7 @@
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
! software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save