Browse Source

Update MPI.jl compat to allow 0.20 (#2)

This patch updates the MPI.jl compat to allow 0.20. In addition, the Clang.jl generator is
updated to filter out all unnecessary bindings (e.g. MPI related) and instead bring in constants
from MPI.jl. This should make sure that those are synced, since everything now uses MPIPreferences.

Co-authored-by: Dennis Ogiermann <termi-official@users.noreply.github.com>
Co-authored-by: Fredrik Ekre <ekrefredrik@gmail.com>
pull/5/head
Dennis Ogiermann 3 years ago committed by GitHub
parent
commit
bfe8ae4f75
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      Project.toml
  2. 58
      gen/Manifest.toml
  3. 3
      gen/Project.toml
  4. 2
      gen/generator.jl
  5. 16
      gen/generator.toml
  6. 6
      gen/prologue.jl
  7. 14164
      lib/LibHYPRE.jl

2
Project.toml

@ -13,7 +13,7 @@ SparseMatricesCSR = "a0a7dd2c-ebf4-11e9-1f05-cf50bc540ca1"
[compat] [compat]
CEnum = "0.4" CEnum = "0.4"
MPI = "0.19" MPI = "0.19, 0.20"
PartitionedArrays = "0.2" PartitionedArrays = "0.2"
SparseMatricesCSR = "0.6" SparseMatricesCSR = "0.6"
julia = "1.6" julia = "1.6"

58
gen/Manifest.toml

@ -1,11 +1,12 @@
# This file is machine-generated - editing it directly is not advised # This file is machine-generated - editing it directly is not advised
julia_version = "1.7.2" julia_version = "1.8.2"
manifest_format = "2.0" manifest_format = "2.0"
project_hash = "cc39013dba1e9068883c1b156d3b25864ebc62f8" project_hash = "cc39013dba1e9068883c1b156d3b25864ebc62f8"
[[deps.ArgTools]] [[deps.ArgTools]]
uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
version = "1.1.1"
[[deps.Artifacts]] [[deps.Artifacts]]
uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
@ -20,33 +21,38 @@ version = "0.4.2"
[[deps.Clang]] [[deps.Clang]]
deps = ["CEnum", "Clang_jll", "Downloads", "Pkg", "TOML"] deps = ["CEnum", "Clang_jll", "Downloads", "Pkg", "TOML"]
git-tree-sha1 = "b6998b85ea2abbc8a02ca1ccca9438338ed5f8e5" git-tree-sha1 = "b7e356adf44b1d4eb7aa2b0961ec130730fa208f"
uuid = "40e3b903-d033-50b4-a0cc-940c62c95e31" uuid = "40e3b903-d033-50b4-a0cc-940c62c95e31"
version = "0.15.8" version = "0.16.3"
[[deps.Clang_jll]] [[deps.Clang_jll]]
deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll", "libLLVM_jll"] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll", "libLLVM_jll"]
git-tree-sha1 = "8cf7e67e264dedc5d321ec87e78525e958aea057" git-tree-sha1 = "0dfffba1b32bb3e30cb0372bfe666a5ddffe37fb"
uuid = "0ee61d77-7f21-5576-8119-9fcc46b10100" uuid = "0ee61d77-7f21-5576-8119-9fcc46b10100"
version = "12.0.1+3" version = "13.0.1+3"
[[deps.CompilerSupportLibraries_jll]] [[deps.CompilerSupportLibraries_jll]]
deps = ["Artifacts", "Libdl"] deps = ["Artifacts", "Libdl"]
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
version = "0.5.2+0"
[[deps.Dates]] [[deps.Dates]]
deps = ["Printf"] deps = ["Printf"]
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
[[deps.Downloads]] [[deps.Downloads]]
deps = ["ArgTools", "LibCURL", "NetworkOptions"] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"]
uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
version = "1.6.0"
[[deps.FileWatching]]
uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"
[[deps.HYPRE_jll]] [[deps.HYPRE_jll]]
deps = ["Artifacts", "JLLWrappers", "LAPACK_jll", "LazyArtifacts", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenBLAS_jll", "OpenMPI_jll", "Pkg", "TOML"] deps = ["Artifacts", "JLLWrappers", "LAPACK_jll", "LazyArtifacts", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenBLAS_jll", "OpenMPI_jll", "Pkg", "TOML"]
git-tree-sha1 = "ed07e4165a837e4606bc5dfbb6536ab0ec798ab8" git-tree-sha1 = "b77d3eca75f8442e034ccf415c87405a49e77985"
uuid = "0a602bbd-b08b-5d75-8d32-0de6eef44785" uuid = "0a602bbd-b08b-5d75-8d32-0de6eef44785"
version = "2.23.0+1" version = "2.23.1+1"
[[deps.InteractiveUtils]] [[deps.InteractiveUtils]]
deps = ["Markdown"] deps = ["Markdown"]
@ -60,9 +66,9 @@ version = "1.4.1"
[[deps.LAPACK_jll]] [[deps.LAPACK_jll]]
deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg", "libblastrampoline_jll"] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg", "libblastrampoline_jll"]
git-tree-sha1 = "b1cccaf9742bb82f2b3de81c510688e491d6e922" git-tree-sha1 = "a539affa8228208f5a3396037165b04bff9a2ba6"
uuid = "51474c39-65e3-53ba-86ba-03b1b862ec14" uuid = "51474c39-65e3-53ba-86ba-03b1b862ec14"
version = "3.9.0+0" version = "3.10.0+1"
[[deps.LazyArtifacts]] [[deps.LazyArtifacts]]
deps = ["Artifacts", "Pkg"] deps = ["Artifacts", "Pkg"]
@ -71,10 +77,12 @@ uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3"
[[deps.LibCURL]] [[deps.LibCURL]]
deps = ["LibCURL_jll", "MozillaCACerts_jll"] deps = ["LibCURL_jll", "MozillaCACerts_jll"]
uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21"
version = "0.6.3"
[[deps.LibCURL_jll]] [[deps.LibCURL_jll]]
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"]
uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0"
version = "7.84.0+0"
[[deps.LibGit2]] [[deps.LibGit2]]
deps = ["Base64", "NetworkOptions", "Printf", "SHA"] deps = ["Base64", "NetworkOptions", "Printf", "SHA"]
@ -83,6 +91,7 @@ uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
[[deps.LibSSH2_jll]] [[deps.LibSSH2_jll]]
deps = ["Artifacts", "Libdl", "MbedTLS_jll"] deps = ["Artifacts", "Libdl", "MbedTLS_jll"]
uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8"
version = "1.10.2+0"
[[deps.Libdl]] [[deps.Libdl]]
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
@ -92,21 +101,21 @@ uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
[[deps.MPICH_jll]] [[deps.MPICH_jll]]
deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"]
git-tree-sha1 = "089ec72dbf7d7a853626f438d140d0a642ddbda4" git-tree-sha1 = "6d4fa43afab4611d090b11617ecea1a144b21d35"
uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4"
version = "4.0.2+4" version = "4.0.2+5"
[[deps.MPIPreferences]] [[deps.MPIPreferences]]
deps = ["Libdl", "Preferences"] deps = ["Libdl", "Preferences"]
git-tree-sha1 = "49f10d34284610c125421c7a4e6f913e4bc00897" git-tree-sha1 = "9959c42b41220206eeda9004f695d913e2245658"
uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267"
version = "0.1.3" version = "0.1.5"
[[deps.MPItrampoline_jll]] [[deps.MPItrampoline_jll]]
deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"]
git-tree-sha1 = "0c87d3420a787a2be96942d4d1298487271c51d0" git-tree-sha1 = "b3f9e42685b4ad614eca0b44bd863cd41b1c86ea"
uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748"
version = "4.1.2+0" version = "5.0.2+1"
[[deps.Markdown]] [[deps.Markdown]]
deps = ["Base64"] deps = ["Base64"]
@ -115,6 +124,7 @@ uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
[[deps.MbedTLS_jll]] [[deps.MbedTLS_jll]]
deps = ["Artifacts", "Libdl"] deps = ["Artifacts", "Libdl"]
uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
version = "2.28.0+0"
[[deps.MicrosoftMPI_jll]] [[deps.MicrosoftMPI_jll]]
deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
@ -124,23 +134,27 @@ version = "10.1.3+2"
[[deps.MozillaCACerts_jll]] [[deps.MozillaCACerts_jll]]
uuid = "14a3606d-f60d-562e-9121-12d972cd8159" uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
version = "2022.2.1"
[[deps.NetworkOptions]] [[deps.NetworkOptions]]
uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908"
version = "1.2.0"
[[deps.OpenBLAS_jll]] [[deps.OpenBLAS_jll]]
deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
version = "0.3.20+0"
[[deps.OpenMPI_jll]] [[deps.OpenMPI_jll]]
deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"]
git-tree-sha1 = "6198c6dc3b5c3dc01854879197a5f382a60f947d" git-tree-sha1 = "346d6b357a480300ed7854dbc70e746ac52e10fd"
uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" uuid = "fe0851c0-eecd-5654-98d4-656369965a5c"
version = "4.1.3+1" version = "4.1.3+3"
[[deps.Pkg]] [[deps.Pkg]]
deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"]
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
version = "1.8.0"
[[deps.Preferences]] [[deps.Preferences]]
deps = ["TOML"] deps = ["TOML"]
@ -162,6 +176,7 @@ uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
[[deps.SHA]] [[deps.SHA]]
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
version = "0.7.0"
[[deps.Serialization]] [[deps.Serialization]]
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
@ -172,10 +187,12 @@ uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
[[deps.TOML]] [[deps.TOML]]
deps = ["Dates"] deps = ["Dates"]
uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
version = "1.0.0"
[[deps.Tar]] [[deps.Tar]]
deps = ["ArgTools", "SHA"] deps = ["ArgTools", "SHA"]
uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"
version = "1.10.1"
[[deps.UUIDs]] [[deps.UUIDs]]
deps = ["Random", "SHA"] deps = ["Random", "SHA"]
@ -187,19 +204,24 @@ uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
[[deps.Zlib_jll]] [[deps.Zlib_jll]]
deps = ["Libdl"] deps = ["Libdl"]
uuid = "83775a58-1f1d-513f-b197-d71354ab007a" uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
version = "1.2.12+3"
[[deps.libLLVM_jll]] [[deps.libLLVM_jll]]
deps = ["Artifacts", "Libdl"] deps = ["Artifacts", "Libdl"]
uuid = "8f36deef-c2a5-5394-99ed-8e07531fb29a" uuid = "8f36deef-c2a5-5394-99ed-8e07531fb29a"
version = "13.0.1+3"
[[deps.libblastrampoline_jll]] [[deps.libblastrampoline_jll]]
deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] deps = ["Artifacts", "Libdl", "OpenBLAS_jll"]
uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" uuid = "8e850b90-86db-534c-a0d3-1478176c7d93"
version = "5.1.1+0"
[[deps.nghttp2_jll]] [[deps.nghttp2_jll]]
deps = ["Artifacts", "Libdl"] deps = ["Artifacts", "Libdl"]
uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d"
version = "1.48.0+0"
[[deps.p7zip_jll]] [[deps.p7zip_jll]]
deps = ["Artifacts", "Libdl"] deps = ["Artifacts", "Libdl"]
uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
version = "17.4.0+0"

3
gen/Project.toml

@ -3,3 +3,6 @@ CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82"
Clang = "40e3b903-d033-50b4-a0cc-940c62c95e31" Clang = "40e3b903-d033-50b4-a0cc-940c62c95e31"
HYPRE_jll = "0a602bbd-b08b-5d75-8d32-0de6eef44785" HYPRE_jll = "0a602bbd-b08b-5d75-8d32-0de6eef44785"
MPICH_jll = "7cb0a576-ebde-5e09-9194-50597f1243b4" MPICH_jll = "7cb0a576-ebde-5e09-9194-50597f1243b4"
[extras]
MPIPreferences = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267"

2
gen/generator.jl

@ -10,7 +10,7 @@ options = load_options(joinpath(@__DIR__, "generator.toml"))
args = get_default_args() args = get_default_args()
push!(args, "-I$(hypre_include_dir)") push!(args, "-I$(hypre_include_dir)")
push!(args, "-I$(mpi_include_dir)") push!(args, "-isystem$(mpi_include_dir)")
# Compiler flags from Yggdrasil (??) # Compiler flags from Yggdrasil (??)
# https://github.com/JuliaPackaging/Yggdrasil/blob/9d131ba0e4aa393b00f4d71ef5a3f909419a70a7/H/HYPRE/build_tarballs.jl # https://github.com/JuliaPackaging/Yggdrasil/blob/9d131ba0e4aa393b00f4d71ef5a3f909419a70a7/H/HYPRE/build_tarballs.jl

16
gen/generator.toml

@ -3,20 +3,8 @@ library_name = "libHYPRE"
output_file_path = "../lib/LibHYPRE.jl" output_file_path = "../lib/LibHYPRE.jl"
jll_pkg_name = "HYPRE_jll" jll_pkg_name = "HYPRE_jll"
export_symbol_prefixes = [] export_symbol_prefixes = []
prologue_file_path = "./prologue.jl"
output_ignorelist = [ output_ignorelist = [
# Overflows Int32
"MPI_FLOAT_INT",
"MPI_DOUBLE_INT",
"MPI_LONG_INT",
"MPI_SHORT_INT",
"MPI_LONG_DOUBLE_INT",
# Uses NULL
"MPI_T_ENUM_NULL",
"MPI_T_CVAR_HANDLE_NULL",
"MPI_T_PVAR_HANDLE_NULL",
"MPI_T_PVAR_SESSION_NULL",
# Bogus expression: const MPI_ARGV_NULL = (Cchar * (*))(0)
"MPI_ARGV_NULL",
# Undefined values DBL_MAX, DBL_MIN, DBL_EPSILON, DBL_MIN_EXP # Undefined values DBL_MAX, DBL_MIN, DBL_EPSILON, DBL_MIN_EXP
"HYPRE_REAL_MAX", "HYPRE_REAL_MAX",
"HYPRE_REAL_MIN", "HYPRE_REAL_MIN",
@ -24,4 +12,6 @@ output_ignorelist = [
"HYPRE_REAL_MIN_EXP", "HYPRE_REAL_MIN_EXP",
# Bogus expression: const HYPRE_VERSION = ((("HYPRE_RELEASE_NAME Date Compiled: ")(__DATE__))(" "))(__TIME__) # Bogus expression: const HYPRE_VERSION = ((("HYPRE_RELEASE_NAME Date Compiled: ")(__DATE__))(" "))(__TIME__)
"HYPRE_VERSION", "HYPRE_VERSION",
# Filter out MPI stuff
"^[PQ]?MPI"
] ]

6
gen/prologue.jl

@ -0,0 +1,6 @@
using MPI: MPI, MPI_Comm
if isdefined(MPI, :API) # MPI >= 0.20.0
using MPI.API: MPI_INT, MPI_DOUBLE
else # MPI < 0.20.0
using MPI: MPI_INT, MPI_DOUBLE
end

14164
lib/LibHYPRE.jl

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save