Skip to content

Commit

Permalink
Merge Pull Request trilinos#12917 from trilinos/Trilinos/master_merge…
Browse files Browse the repository at this point in the history
…_20240412_175845

Automatically Merged using Trilinos Master Merge AutoTester
PR Title: b'Trilinos Master Merge PR Generator: Auto PR created to promote from master_merge_20240412_175845 branch to master'
PR Author: trilinos-autotester
  • Loading branch information
trilinos-autotester authored Apr 15, 2024
2 parents dd0cab1 + 6685573 commit 23ccc58
Show file tree
Hide file tree
Showing 95 changed files with 590 additions and 3,011 deletions.
87 changes: 87 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL: Linear Solvers"

on:
#push:
# branches: [ "muelu-sync-workflow" ]
pull_request:
branches: [ "develop" ]
schedule:
- cron: '41 23 * * 2'

jobs:
analyze:
name: Analyze (${{ matrix.language }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
# required for all workflows
security-events: write

# only required for workflows in private repositories
actions: read
contents: read

strategy:
fail-fast: false
matrix:
include:
- language: c-cpp
build-mode: manual
#- language: python
# build-mode: none
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config: |
query-filters:
- exclude:
tags: cpp/integer-multiplication-cast-to-long
- if: matrix.build-mode == 'manual'
name: Configure Trilinos
run: |
mkdir -p trilinos_build
cd trilinos_build
cmake -G 'Unix Makefiles' -DTrilinos_ENABLE_TESTS=OFF -DTrilinos_ENABLE_Epetra=OFF -DTrilinos_ENABLE_AztecOO=OFF -DTrilinos_ENABLE_Ifpack=OFF -DTrilinos_ENABLE_ML=OFF -D Trilinos_ENABLE_Triutils=OFF -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_MueLu=ON -DTrilinos_ENABLE_Krino=OFF ..
- if: matrix.build-mode == 'manual'
name: Build Trilinos
run: |
cd trilinos_build
make -j 2
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
2 changes: 1 addition & 1 deletion .github/workflows/scorecards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,6 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9
uses: github/codeql-action/upload-sarif@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10
with:
sarif_file: results.sarif
6 changes: 6 additions & 0 deletions .github/workflows/spack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,14 @@ on:
- submitted
workflow_dispatch:

permissions:
contents: read

jobs:
gcc10-openmpi416:
permissions:
actions: write # for styfle/cancel-workflow-action to cancel/stop running workflows
contents: read # for actions/checkout to fetch code
runs-on: [self-hosted, gcc-10.3.0_openmpi-4.1.6]
steps:
- name: Cancel Previous Runs
Expand Down
2 changes: 1 addition & 1 deletion cmake/tribits/doc/sphinx/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Sphinx==4.0.2
Sphinx==7.2.6
sphinx-rtd-theme==0.5.2
47 changes: 47 additions & 0 deletions packages/framework/ini-files/config-specs.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1722,6 +1722,7 @@ opt-set-cmake-var Tpetra_INST_SERIAL BOOL FORCE : ON
opt-set-cmake-var Zoltan_ENABLE_Scotch BOOL FORCE : OFF

[CUDA11-RUN-SERIAL-TESTS]
opt-set-cmake-var KokkosKernels_sparse_cuda_MPI_1_SET_RUN_SERIAL BOOL FORCE : ON
opt-set-cmake-var KokkosKernels_batched_dla_cuda_MPI_1_SET_RUN_SERIAL BOOL FORCE : ON
opt-set-cmake-var Intrepid2_unit-test_MonolithicExecutable_Intrepid2_Tests_MPI_1_SET_RUN_SERIAL BOOL FORCE : ON

Expand Down Expand Up @@ -2838,6 +2839,48 @@ opt-set-cmake-var Stratimikos_Galeri_xpetra_complex_double_Jacobi_MPI_4_DISABLE
use GCC_PACKAGE_SPECIFIC_WARNING_FLAGS
use RHEL8_POST

[rhel8_gcc-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables]
# gcc-serial containerized environment
use COMPILER|GNU
use NODE-TYPE|SERIAL
use BUILD-TYPE|RELEASE-DEBUG

use RHEL8_LIB-TYPE|SHARED
use KOKKOS-ARCH|NO-KOKKOS-ARCH

use USE-ASAN|NO
use USE-COMPLEX|NO
use USE-FPIC|NO
use USE-MPI|NO
use USE-PT|NO
use USE-RDC|NO
use USE-UVM|NO
use USE-DEPRECATED|YES
use PACKAGE-ENABLES|NO-PACKAGE-ENABLES

use COMMON_SPACK_TPLS

opt-set-cmake-var CMAKE_CXX_FLAGS STRING : -Wall -Wno-clobbered -Wno-vla -Wno-pragmas -Wno-unknown-pragmas -Wno-parentheses -Wno-unused-local-typedefs -Wno-literal-suffix -Wno-deprecated-declarations -Wno-misleading-indentation -Wno-int-in-bool-context -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-nonnull-compare -Wno-address -Wno-inline -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unused-label -Werror -DTRILINOS_HIDE_DEPRECATED_HEADER_WARNINGS

opt-set-cmake-var TPL_BLAS_LIBRARY_DIRS STRING FORCE : ${OPENBLAS_ROOT|ENV}/lib
opt-set-cmake-var TPL_BLAS_LIBRARIES STRING FORCE : ${OPENBLAS_ROOT|ENV}/lib/libopenblas.a;-L${OPENBLAS_ROOT|ENV}/lib;-lgfortran;-lgomp;-lm
opt-set-cmake-var TPL_LAPACK_LIBRARY_DIRS STRING FORCE : ${OPENBLAS_ROOT|ENV}/lib
opt-set-cmake-var TPL_LAPACK_LIBRARIES STRING FORCE : ${OPENBLAS_ROOT|ENV}/lib/libopenblas.a;-L${OPENBLAS_ROOT|ENV}/lib;-lgfortran;-lgomp;-lm

opt-set-cmake-var TPL_Netcdf_LIBRARIES STRING FORCE : ""

opt-set-cmake-var TPL_ENABLE_ParMETIS BOOL FORCE : OFF
opt-set-cmake-var TPL_ENABLE_Pnetcdf BOOL FORCE : OFF

opt-set-cmake-var Trilinos_ENABLE_TrilinosFrameworkTests BOOL FORCE : OFF
opt-set-cmake-var Trilinos_ENABLE_TrilinosBuildStats BOOL FORCE : OFF

# Turned off to bypass: ML CONFIGURATION ERROR: SuperLU_5.0 detected - only SuperLU version < 5.0 currently supported for this package.
opt-set-cmake-var ML_ENABLE_SuperLU BOOL FORCE : OFF

use GCC_PACKAGE_SPECIFIC_WARNING_FLAGS
use RHEL8_POST

[rhel8_aue-gcc-openmpi_debug_shared_no-kokkos-arch_no-asan_complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables]
use COMPILER|GNU
use NODE-TYPE|SERIAL
Expand Down Expand Up @@ -2886,6 +2929,10 @@ use PACKAGE-ENABLES|ALL
opt-set-cmake-var Trilinos_ENABLE_TrilinosFrameworkTests BOOL FORCE : OFF
opt-set-cmake-var Trilinos_ENABLE_TrilinosBuildStats BOOL FORCE : OFF

[rhel8_gcc-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_all]
use rhel8_gcc-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
use PACKAGE-ENABLES|ALL

[rhel8_aue-gcc-openmpi_debug_shared_no-kokkos-arch_no-asan_complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_all]
use rhel8_aue-gcc-openmpi_debug_shared_no-kokkos-arch_no-asan_complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
use PACKAGE-ENABLES|ALL
Expand Down
2 changes: 2 additions & 0 deletions packages/framework/ini-files/environment-specs.ini
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,8 @@ envvar-find-in-path MPIF90 : mpif90

[rhel8_gcc-openmpi]

[rhel8_gcc-serial]

[rhel8_aue-gcc-openmpi]

[rhel8_oneapi-intelmpi]
Expand Down
1 change: 1 addition & 0 deletions packages/framework/ini-files/supported-envs.ini
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ gnu
[rhel8]
oneapi-intelmpi
gcc-openmpi
gcc-serial
aue-gcc-openmpi
sems-cuda-11.4.2-sems-gnu-10.1.0-sems-openmpi-4.1.4

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,48 @@ struct TeamTrsm<MemberType, Side::Right, Uplo::Upper, Trans::NoTranspose,
}
};

///
/// R/L/NT
///
/// B := (alpha*B) inv(tril(A))
/// A(n x n), B(m x n)

template <typename MemberType, typename ArgDiag>
struct TeamTrsm<MemberType, Side::Right, Uplo::Lower, Trans::NoTranspose,
ArgDiag, Algo::Trsm::Unblocked> {
template <typename ScalarType, typename AViewType, typename BViewType>
KOKKOS_INLINE_FUNCTION static int invoke(const MemberType &member,
const ScalarType alpha,
const AViewType &A,
const BViewType &B) {
return TeamTrsmInternalLeftUpper<Algo::Trsm::Unblocked>::invoke(
member, ArgDiag::use_unit_diag, B.extent(1), B.extent(0), alpha,
A.data(), A.stride_1(), A.stride_0(), B.data(), B.stride_1(),
B.stride_0());
}
};

template <typename MemberType, typename ArgDiag>
struct TeamTrsm<MemberType, Side::Right, Uplo::Lower, Trans::NoTranspose,
ArgDiag, Algo::Trsm::Blocked> {
template <typename ScalarType, typename AViewType, typename BViewType>
KOKKOS_INLINE_FUNCTION static int invoke(const MemberType &member,
const ScalarType alpha,
const AViewType &A,
const BViewType &B) {
return TeamTrsmInternalLeftUpper<Algo::Trsm::Blocked>::invoke(
member, ArgDiag::use_unit_diag, B.extent(1), B.extent(0), alpha,
A.data(), A.stride_1(), A.stride_0(), B.data(), B.stride_1(),
B.stride_0());
}
};

///
/// R/U/T
///
/// B := (alpha*B) inv(triu(A))
/// A(n x n), B(m x n)

template <typename MemberType, typename ArgDiag>
struct TeamTrsm<MemberType, Side::Right, Uplo::Upper, Trans::Transpose, ArgDiag,
Algo::Trsm::Unblocked> {
Expand All @@ -107,7 +149,7 @@ struct TeamTrsm<MemberType, Side::Right, Uplo::Upper, Trans::Transpose, ArgDiag,
const ScalarType alpha,
const AViewType &A,
const BViewType &B) {
return TeamTrsmInternalLeftLower<Algo::Trsm::Unblocked>::invoke(
return TeamTrsmInternalLeftUpper<Algo::Trsm::Unblocked>::invoke(
member, ArgDiag::use_unit_diag, B.extent(1), B.extent(0), alpha,
A.data(), A.stride_0(), A.stride_1(), B.data(), B.stride_1(),
B.stride_0());
Expand All @@ -122,7 +164,7 @@ struct TeamTrsm<MemberType, Side::Right, Uplo::Upper, Trans::Transpose, ArgDiag,
const ScalarType alpha,
const AViewType &A,
const BViewType &B) {
return TeamTrsmInternalLeftLower<Algo::Trsm::Blocked>::invoke(
return TeamTrsmInternalLeftUpper<Algo::Trsm::Blocked>::invoke(
member, ArgDiag::use_unit_diag, B.extent(1), B.extent(0), alpha,
A.data(), A.stride_0(), A.stride_1(), B.data(), B.stride_1(),
B.stride_0());
Expand Down
Loading

0 comments on commit 23ccc58

Please sign in to comment.