From 285e87f2c690365c17d2601f63516a0c885e4ef3 Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Thu, 25 Aug 2022 19:35:31 -0400 Subject: [PATCH] Test MUMPS_seq_jll --- .github/workflows/Documentation.yml | 24 ----------- .github/workflows/ci.yml | 6 ++- .github/workflows/ci_M1.yml | 31 --------------- .github/workflows/ci_homebrew.yml | 62 ----------------------------- Project.toml | 8 ++-- src/MUMPS.jl | 13 +++++- 6 files changed, 21 insertions(+), 123 deletions(-) delete mode 100644 .github/workflows/Documentation.yml delete mode 100644 .github/workflows/ci_M1.yml delete mode 100644 .github/workflows/ci_homebrew.yml diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml deleted file mode 100644 index abf1a60..0000000 --- a/.github/workflows/Documentation.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Documentation -on: - push: - branches: - - main - tags: '*' - pull_request: - types: [opened, synchronize, reopened] -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@latest - with: - version: '1' - arch: x64 - - name: Install dependencies - run: julia --project=docs -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate(); Pkg.build("MUMPS")' - - name: Build and deploy - run: julia --project=docs --color=yes docs/make.jl - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index edc2d0e..33308cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: version: ['1.6', '1'] - os: [ubuntu-latest, macOS-latest] + os: [ubuntu-latest, macOS-latest, windows-latest] arch: [x64] allow_failure: [false] include: @@ -26,6 +26,10 @@ jobs: os: macOS-latest arch: x64 allow_failure: true + - version: 'nightly' + os: windows-latest + arch: x64 + allow_failure: true steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 diff --git a/.github/workflows/ci_M1.yml b/.github/workflows/ci_M1.yml deleted file mode 100644 index 6f9aa72..0000000 --- a/.github/workflows/ci_M1.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: CI_M1 -on: - push: - branches: - - main - pull_request: - types: [opened, synchronize, reopened] -jobs: - test: - name: Julia ${{ matrix.version }} - macOS - ${{ matrix.arch }} - ${{ github.event_name }} - runs-on: self-hosted - strategy: - fail-fast: false - matrix: - version: - - '1' - arch: - - aarch64 - steps: - - uses: actions/checkout@v3 - - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.version }} - arch: ${{ matrix.arch }} - - name: Version Info - shell: julia --color=yes {0} - run: | - using InteractiveUtils - versioninfo() - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 diff --git a/.github/workflows/ci_homebrew.yml b/.github/workflows/ci_homebrew.yml deleted file mode 100644 index 5b84365..0000000 --- a/.github/workflows/ci_homebrew.yml +++ /dev/null @@ -1,62 +0,0 @@ -name: CI-Homebrew -on: - push: - branches: - - main - pull_request: - types: [opened, synchronize, reopened] -jobs: - test: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} - runs-on: ${{ matrix.os }} - continue-on-error: ${{ matrix.allow_failure }} - strategy: - fail-fast: false - matrix: - version: ['1.6', '1'] - os: [ubuntu-latest, macOS-latest] - arch: [x64] - allow_failure: [false] - include: - - version: 'nightly' - os: ubuntu-latest - arch: x64 - allow_failure: true - - version: 'nightly' - os: macOS-latest - arch: x64 - allow_failure: true - steps: - - name: Set up Homebrew - id: set-up-homebrew - uses: Homebrew/actions/setup-homebrew@master - - name: Install MUMPS from Homebrew - id: set-up-mumps - run: | - brew tap dpo/mumps-jl - brew install gcc openblas cmake - brew install mpich-mumps - echo "$(brew --prefix)/bin" >> $GITHUB_PATH - echo "::set-output name=prefix::$(brew --prefix)" - echo "JULIA_MUMPS_LIBRARY_PATH=$(brew --prefix)/opt/mpich-mumps/lib" >> $GITHUB_ENV - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.version }} - arch: ${{ matrix.arch }} - - uses: actions/cache@v1 - env: - cache-name: cache-artifacts - with: - path: ~/.julia/artifacts - key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} - restore-keys: | - ${{ runner.os }}-test-${{ env.cache-name }}- - ${{ runner.os }}-test- - ${{ runner.os }}- - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 - - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v1 - with: - file: lcov.info diff --git a/Project.toml b/Project.toml index a1e1b73..28bf5d0 100644 --- a/Project.toml +++ b/Project.toml @@ -1,20 +1,20 @@ name = "MUMPS" uuid = "55d2b088-9f4e-11e9-26c0-150b02ea6a46" -authors = ["Dominique Orban ","William R Sweeney ", "Alexis Montoison "] +authors = ["Dominique Orban ", "William R Sweeney ", "Alexis Montoison "] version = "1.3.0" [deps] Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" -MUMPS_jll = "ca64183c-ec4f-5579-95d5-17e128c21291" +MUMPS_seq_jll = "d7ed1dd3-d0ae-5e8e-bfb4-87a502085b8d" +OpenBLAS32_jll = "656ef2d0-ae68-5445-9ca0-591084a874a2" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [compat] MPI = "^0.19" -MUMPS_jll = "= 5.5.1" - julia = "^1.6" +MUMPS_seq_jll = "= 5.5.1" [extras] LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" diff --git a/src/MUMPS.jl b/src/MUMPS.jl index 1966526..220482a 100644 --- a/src/MUMPS.jl +++ b/src/MUMPS.jl @@ -41,10 +41,21 @@ if haskey(ENV, "JULIA_MUMPS_LIBRARY_PATH") const libmumps_common = joinpath(ENV["JULIA_MUMPS_LIBRARY_PATH"], "libmumps_common.$dlext") const MUMPS_INSTALLATION = "CUSTOM" else - using MUMPS_jll + using MUMPS_seq_jll const MUMPS_INSTALLATION = "YGGDRASIL" end +using OpenBLAS32_jll + +function __init__() + if VERSION ≥ v"1.7" + config = LinearAlgebra.BLAS.lbt_get_config() + if !any(lib -> lib.interface == :lp64, config.loaded_libs) + LinearAlgebra.BLAS.lbt_forward(OpenBLAS32_jll.libopenblas_path) + end + end +end + include("mumps_types.jl") include("mumps_struc.jl") include("interface.jl")