Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LB Julia to 1.7, upgrade to ROCm 4.2 #187

Merged
merged 33 commits into from
Feb 15, 2022
Merged

LB Julia to 1.7, upgrade to ROCm 4.2 #187

merged 33 commits into from
Feb 15, 2022

Conversation

jpsamaroo
Copy link
Member

@jpsamaroo jpsamaroo commented Jan 14, 2022

@luraess

Todo:

  • Add rocRAND_jll
  • Add rocBLAS_jll or upgrade CI to 4.2
  • Add ld.lld from LLVM_jll
  • Fix remaining test failures from overlay table changes
  • Bump minor version

@jpsamaroo jpsamaroo linked an issue Jan 14, 2022 that may be closed by this pull request
@jpsamaroo
Copy link
Member Author

jpsamaroo commented Jan 14, 2022

BLAS/RNG failures will probably be solvable by shipping rocRAND_jll (JuliaPackaging/Yggdrasil#4250) and rocBLAS_jll (JuliaPackaging/Yggdrasil#4255) or by updating the CI container to a newer ROCm.

@vchuravy
Copy link
Member

Next step would be to use methods overlays for device functionality?

@jpsamaroo
Copy link
Member Author

Yeah! Do we want that in this PR, or separately?

@vchuravy
Copy link
Member

Seperatly is fine

@luraess
Copy link
Collaborator

luraess commented Jan 19, 2022

@jpsamaroo, testing current branch on Vega20 test system:

  1. ROCm 4.2 and JULIA_AMDGPU_DISABLE_ARTIFACTS="1" (not working)
Currently Loaded Modules:
  1) hip-rocclr/4.2.0   3) hsa-rocr-dev/4.2.0   5) llvm-amdgpu/4.2.0   7) rocminfo/4.2.0
  2) hip/4.2.0          4) hsakmt-roct/4.2.0    6) rocm-cmake/4.2.0    8) roctracer-dev-api/4.2.0

export JULIA_AMDGPU_DISABLE_ARTIFACTS="1"

cat ~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/7f20b809462a0fa3410fc3b1300634bb397dc933/build.log
[ Info: Found useable ld.lld at /apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/llvm-amdgpu-4.2.0-rsmtqpi3nz4w2vj5qnvrghl5uyip5iy4/bin/ld.lld
ERROR: LoadError: UndefVarError: find_rocr_library not defined
Stacktrace:
 [1] main()
   @ Main ~/.julia/packages/AMDGPU/UeOHS/deps/build.jl:308
 [2] top-level scope
   @ ~/.julia/packages/AMDGPU/UeOHS/deps/build.jl:348
 [3] include(fname::String)
   @ Base.MainInclude ./client.jl:451
 [4] top-level scope
   @ none:5
in expression starting at /users/lraess/.julia/packages/AMDGPU/UeOHS/deps/build.jl:348
paths = ["/apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/llvm-amdgpu-4.2.0-rsmtqpi3nz4w2vj5qnvrghl5uyip5iy4/lib", "/apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/hsakmt-roct-4.2.0-unjqrtxlcm4jwdownrhk22j7ryabxzht/lib64", "/apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/hsa-rocr-dev-4.2.0-vpyq6owlqwaudbbmb5pvz24b46kg33ff/lib", "/apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/hip-4.2.0-vdszeznelp2o4kvqlxgejqau7opvntdi/lib", "/apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/hip-rocclr-4.2.0-cgv5qqque36vc6v7pfdplfzfjtz2ti42/lib"]
Could not find library 'rocblas'.
Could not find library 'rocsparse'.
Could not find library 'rocalution'.
Could not find library 'rocfft'.
Could not find library 'MIOpen'.
  1. ROCm 4.3.1 and JULIA_AMDGPU_DISABLE_ARTIFACTS="0" (working)
Currently Loaded Modules:
  1) rocm/4.3.1         4) hsa-rocr-dev/4.3.1   7) rocm-cmake/4.3.1         10) rocprofiler-dev/4.3.1
  2) hip-rocclr/4.3.1   5) hsakmt-roct/4.3.1    8) rocminfo/4.3.1           11) rocm-smi-lib/4.3.1
  3) hip/4.3.1          6) llvm-amdgpu/4.3.1    9) roctracer-dev-api/4.3.1

cat ~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/7f20b809462a0fa3410fc3b1300634bb397dc933/build.log
[ Info: Found useable ld.lld at /apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/llvm-amdgpu-4.3.1-hc5o4e3ffd6uxgm3wwmjf3mzndgwf6sn/bin/ld.lld
paths = ["/apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/rocm-smi-lib-4.3.1-66tbwocpjv2fikyuzy2qhlayt4kldx3a/lib", "/apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/rocprofiler-dev-4.3.1-fj54ljtmkegh3jl3ljc47rtspc7kvgcj/lib", "/apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/llvm-amdgpu-4.3.1-hc5o4e3ffd6uxgm3wwmjf3mzndgwf6sn/lib", "/apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/hsakmt-roct-4.3.1-54ceqakpcllprna3eoowm4rc7l3ggxm5/lib64", "/apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/hsa-rocr-dev-4.3.1-rpmxpbqcx7frbgvaz47bqngp7dnubtpn/lib", "/apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/hip-4.3.1-izzfehtmyzlv2akxeoul4axzpyuqhpyx/lib", "/apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/hip-rocclr-4.3.1-fags7ipoy4dwmlivvosynscxthzomgyj/lib"]
Could not find library 'rocblas'.
Could not find library 'rocsparse'.
Could not find library 'rocalution'.
Could not find library 'rocfft'.
Could not find library 'MIOpen'.

juliap -O3 --check-bounds=no memcopy3D_amdgpu.jl
T_eff=730.4036020001471 GB/s

@jpsamaroo jpsamaroo mentioned this pull request Jan 28, 2022
@luraess
Copy link
Collaborator

luraess commented Feb 2, 2022

@jpsamaroo - Reporting about tests of jps/julia-1.7 branch on Satori (Vega 20 (gfx906)) and Ault (Vega 20 (gfx906)) systems using the amd_bench.jl test script.

Observations:

  1. Power operation ^ failing in kernel:
ERROR stack

ERROR: LoadError: InvalidIRError: compiling kernel memcopy_triad_pow_float!(ROCDeviceMatrix{Float32, 1}, ROCDeviceMatrix{Float32, 1}, ROCDeviceMatrix{Float32, 1}, Float32, Float32) resulted in invalid LLVM IR
Reason: unsupported dynamic function invocation (call to string(a::Union{Char, SubString{String}, String}...) in Base at strings/substring.jl:208)
Stacktrace:
 [1] throw_exp_domainerror
   @ ./math.jl:37
 [2] ^
   @ ./math.jl:916
 [3] memcopy_triad_pow_float!
   @ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:30
Stacktrace:
  [1] check_ir(job::GPUCompiler.CompilerJob{GPUCompiler.GCNCompilerTarget, AMDGPU.ROCCompilerParams, GPUCompiler.FunctionSpec{typeof(memcopy_triad_pow_float!), Tuple{ROCDeviceMatrix{Float32, 1}, ROCDeviceMatrix{Float32, 1}, ROCDeviceMatrix{Float32, 1}, Float32, Float32}}}, args::LLVM.Module)
    @ GPUCompiler ~/.julia/packages/GPUCompiler/fG3xK/src/validation.jl:111
  [2] macro expansion
    @ ~/.julia/packages/GPUCompiler/fG3xK/src/driver.jl:319 [inlined]
  [3] macro expansion
    @ ~/.julia/packages/TimerOutputs/5tW2E/src/TimerOutput.jl:252 [inlined]
  [4] macro expansion
    @ ~/.julia/packages/GPUCompiler/fG3xK/src/driver.jl:317 [inlined]
  [5] emit_asm(job::GPUCompiler.CompilerJob, ir::LLVM.Module; strip::Bool, validate::Bool, format::LLVM.API.LLVMCodeGenFileType)
    @ GPUCompiler ~/.julia/packages/GPUCompiler/fG3xK/src/utils.jl:62
  [6] rocfunction_compile(job::GPUCompiler.CompilerJob)
    @ AMDGPU ~/.julia/packages/AMDGPU/tHocd/src/execution.jl:366
  [7] cached_compilation(cache::Dict{UInt64, Any}, job::GPUCompiler.CompilerJob, compiler::typeof(AMDGPU.rocfunction_compile), linker::typeof(AMDGPU.rocfunction_link))
    @ GPUCompiler ~/.julia/packages/GPUCompiler/fG3xK/src/cache.jl:89
  [8] rocfunction(f::Function, tt::Type; name::Nothing, device::AMDGPU.RuntimeDevice{HSAAgent}, global_hooks::NamedTuple{(), Tuple{}}, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ AMDGPU ~/.julia/packages/AMDGPU/tHocd/src/execution.jl:354
  [9] rocfunction
    @ ~/.julia/packages/AMDGPU/tHocd/src/execution.jl:345 [inlined]
 [10] macro expansion
    @ ~/.julia/packages/AMDGPU/tHocd/src/execution.jl:233 [inlined]
 [11] macro expansion
    @ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:69 [inlined]
 [12] var"##core#631"(threads#576::Tuple{Int64, Int64}, grid#577::Tuple{Int64, Int64}, A#578::ROCMatrix{Float32}, B#579::ROCMatrix{Float32}, C#580::ROCMatrix{Float32}, s#581::Float32, pow_float#582::Float32)
    @ Main ~/.julia/packages/BenchmarkTools/SnZV6/src/execution.jl:483
 [13] var"##sample#632"(::Tuple{Tuple{Int64, Int64}, Tuple{Int64, Int64}, ROCMatrix{Float32}, ROCMatrix{Float32}, ROCMatrix{Float32}, Float32, Float32}, __params::BenchmarkTools.Parameters)
    @ Main ~/.julia/packages/BenchmarkTools/SnZV6/src/execution.jl:489
 [14] _run(b::BenchmarkTools.Benchmark, p::BenchmarkTools.Parameters; verbose::Bool, pad::String, kwargs::Base.Pairs{Symbol, Integer, NTuple{4, Symbol}, NamedTuple{(:samples, :evals, :gctrial, :gcsample), Tuple{Int64, Int64, Bool, Bool}}})
    @ BenchmarkTools ~/.julia/packages/BenchmarkTools/SnZV6/src/execution.jl:99
 [15] #invokelatest#2
    @ ./essentials.jl:718 [inlined]
 [16] #run_result#45
    @ ~/.julia/packages/BenchmarkTools/SnZV6/src/execution.jl:34 [inlined]
 [17] run(b::BenchmarkTools.Benchmark, p::BenchmarkTools.Parameters; progressid::Nothing, nleaves::Float64, ndone::Float64, kwargs::Base.Pairs{Symbol, Integer, NTuple{5, Symbol}, NamedTuple{(:verbose, :samples, :evals, :gctrial, :gcsample), Tuple{Bool, Int64, Int64, Bool, Bool}}})

ERROR stack

ERROR: LoadError: LLVM error: Cannot select: 0x460d770: f64 = fpow 0x4dc1b10, 0x460db18, math.jl:928 @[ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:23 ]
 0x4dc1b10: f64,ch = CopyFromReg 0x4c37f28, Register:f64 %25, math.jl:928 @[ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:23 ]
   0x460d290: f64 = Register %25
 0x460db18: f64 = fadd 0x460d840, 0x460cfb8, float.jl:146 @[ math.jl:928 @[ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:23 ] ]
   0x460d840: f64 = LDEXP 0x460d020, Constant:i32<32>, float.jl:146 @[ math.jl:928 @[ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:23 ] ]
     0x460d020: f64 = sint_to_fp 0x2b7ea88, float.jl:146 @[ math.jl:928 @[ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:23 ] ]
       0x2b7ea88: i32 = extract_vector_elt 0x460da48, Constant:i32<1>, float.jl:146 @[ math.jl:928 @[ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:23 ] ]
         0x460da48: v2i32 = bitcast 0x32981a8, float.jl:146 @[ math.jl:928 @[ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:23 ] ]
           0x32981a8: i64,ch = CopyFromReg 0x4c37f28, Register:i64 %28, float.jl:146 @[ math.jl:928 @[ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:23 ] ]
             0x4dc1f88: i64 = Register %28
         0x3297d30: i32 = Constant<1>
     0x2b7ee30: i32 = Constant<32>
   0x460cfb8: f64 = uint_to_fp 0x3298960, float.jl:146 @[ math.jl:928 @[ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:23 ] ]
     0x3298960: i32 = extract_vector_elt 0x460da48, Constant:i32<0>, float.jl:146 @[ math.jl:928 @[ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:23 ] ]
       0x460da48: v2i32 = bitcast 0x32981a8, float.jl:146 @[ math.jl:928 @[ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:23 ] ]
         0x32981a8: i64,ch = CopyFromReg 0x4c37f28, Register:i64 %28, float.jl:146 @[ math.jl:928 @[ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:23 ] ]
           0x4dc1f88: i64 = Register %28
       0x2b7f170: i32 = Constant<0>
In function: _Z33julia_memcopy_triad_pow_int__537314ROCDeviceArrayI7Float64Li2ELi1EES_IS0_Li2ELi1EES_IS0_Li2ELi1EES0_5Int64
Stacktrace:
 [1] handle_error(reason::Cstring)
   @ LLVM ~/.julia/packages/LLVM/vQ98J/src/core/context.jl:105
 [2] LLVMTargetMachineEmitToMemoryBuffer
   @ ~/.julia/packages/LLVM/vQ98J/lib/12/libLLVM_h.jl:965 [inlined]
 [3] emit(tm::LLVM.TargetMachine, mod::LLVM.Module, filetype::LLVM.API.LLVMCodeGenFileType)
   @ LLVM ~/.julia/packages/LLVM/vQ98J/src/targetmachine.jl:45
 [4] mcgen(job::GPUCompiler.CompilerJob, mod::LLVM.Module, format::LLVM.API.LLVMCodeGenFileType)
   @ GPUCompiler ~/.julia/packages/GPUCompiler/fG3xK/src/mcgen.jl:74
 [5] macro expansion
   @ ~/.julia/packages/TimerOutputs/5tW2E/src/TimerOutput.jl:252 [inlined]
 [6] macro expansion
   @ ~/.julia/packages/GPUCompiler/fG3xK/src/driver.jl:331 [inlined]
 [7] macro expansion
   @ ~/.julia/packages/TimerOutputs/5tW2E/src/TimerOutput.jl:252 [inlined]
 [8] macro expansion
   @ ~/.julia/packages/GPUCompiler/fG3xK/src/driver.jl:328 [inlined]
 [9] emit_asm(job::GPUCompiler.CompilerJob, ir::LLVM.Module; strip::Bool, validate::Bool, format::LLVM.API.LLVMCodeGenFileType)
   @ GPUCompiler ~/.julia/packages/GPUCompiler/fG3xK/src/utils.jl:62
[10] rocfunction_compile(job::GPUCompiler.CompilerJob)
   @ AMDGPU ~/.julia/packages/AMDGPU/ZIg6T/src/execution.jl:326
[11] cached_compilation(cache::Dict{UInt64, Any}, job::GPUCompiler.CompilerJob, compiler::typeof(AMDGPU.rocfunction_compile), linker::typeof(AMDGPU.rocfunction_link))
   @ GPUCompiler ~/.julia/packages/GPUCompiler/fG3xK/src/cache.jl:89
[12] rocfunction(f::Function, tt::Type; name::Nothing, device::AMDGPU.RuntimeDevice{HSAAgent}, global_hooks::NamedTuple{(), Tuple{}}, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ AMDGPU ~/.julia/packages/AMDGPU/ZIg6T/src/execution.jl:314
[13] rocfunction
   @ ~/.julia/packages/AMDGPU/ZIg6T/src/execution.jl:305 [inlined]
[14] macro expansion
   @ ~/.julia/packages/AMDGPU/ZIg6T/src/execution.jl:198 [inlined]
[15] macro expansion
   @ /scratch/lraess/JuliaGPUPerf/amd_bench.jl:65 [inlined]
[16] var"##core#337"(threads#282::Tuple{Int64, Int64}, grid#283::Tuple{Int64, Int64}, A#284::ROCMatrix{Float64}, B#285::ROCMatrix{Float64}, C#286::ROCMatrix{Float64}, s#287::Float64, pow_int#288::Int64)
   @ Main ~/.julia/packages/BenchmarkTools/SnZV6/src/execution.jl:483
[17] var"##sample#338"(::Tuple{Tuple{Int64, Int64}, Tuple{Int64, Int64}, ROCMatrix{Float64}, ROCMatrix{Float64}, ROCMatrix{Float64}, Float64, Int64}, __params::BenchmarkTools.Parameters)
   @ Main ~/.julia/packages/BenchmarkTools/SnZV6/src/execution.jl:489
[18] _run(b::BenchmarkTools.Benchmark, p::BenchmarkTools.Parameters; verbose::Bool, pad::String, kwargs::Base.Pairs{Symbol, Integer, NTuple{4, Symbol}, NamedTuple{(:samples, :evals, :gctrial, :gcsample), Tuple{Int64, Int64, Bool, Bool}}})
   @ BenchmarkTools ~/.julia/packages/BenchmarkTools/SnZV6/src/execution.jl:99
[19] #invokelatest#2
   @ ./essentials.jl:718 [inlined]
[20] #run_result#45
   @ ~/.julia/packages/BenchmarkTools/SnZV6/src/execution.jl:34 [inlined]
[21] run(b::BenchmarkTools.Benchmark, p::BenchmarkTools.Parameters; progressid::Nothing, nleaves::Float64, ndone::Float64, kwargs::Base.Pairs{Symbol, Integer, NTuple{5, Symbol}, NamedTuple{(:verbose, :samples, :evals, :gctrial, :gcsample), Tuple{Bool, Int64, Int64, Bool, Bool}}})

  1. Using local ROCm installs in both cases with export JULIA_AMDGPU_DISABLE_ARTIFACTS=1. However, no artifacts seem to be used upon unsetting JULIA_AMDGPU_DISABLE_ARTIFACTS

  2. Same GPUs, same Julia version (1.7.0), but AMDGPU.verisoninfo() pretty different on both systems

  • Satori:
julia> AMDGPU.versioninfo()
HSA Runtime (ready)
- Version: 1.1.0
- Initialized: true
ld.lld (ready)
- Path: /opt/rocm/llvm/bin/ld.lld
HIP Runtime (ready)
ROCm-Device-Libs (ready)
- Downloaded: true
rocBLAS (ready)
rocFFT (ready)
rocRAND (ready)
rocSPARSE (ready)
rocALUTION (ready)
MIOpen (ready)
HSA Agents (2):
- GPU: Vega 20 (gfx906)
- CPU: AMD EPYC 7642 48-Core Processor
  • Ault:
julia> AMDGPU.versioninfo()
HSA Runtime (ready)
- Version: 1.1.0
- Initialized: true
ld.lld (ready)
- Path: /apps/ault/spack/opt/spack/linux-centos8-zen/gcc-8.4.1/llvm-amdgpu-4.2.0-rsmtqpi3nz4w2vj5qnvrghl5uyip5iy4/bin/ld.lld
HIP Runtime (ready)
ROCm-Device-Libs (ready)
- Downloaded: false
rocBLAS (MISSING)
rocFFT (MISSING)
rocRAND (ready)
rocSPARSE (MISSING)
rocALUTION (MISSING)
MIOpen (MISSING)
HSA Agents (2):
- CPU: AMD EPYC 7742 64-Core Processor
- GPU: Vega 20 WKS GL-XE [Radeon Pro VII] (gfx906)

@Moelf
Copy link

Moelf commented Feb 7, 2022

I still get

┌ Warning: ld.lld was not found, compilation functionality will be unavailable.
│ Please run Pkg.build("AMDGPU") and reload AMDGPU.
│ Reason: ld.lld executable not found
└ @ AMDGPU ~/Documents/github/dotFiles/julia/.julia/dev/AMDGPU/src/AMDGPU.jl:207
┌ Warning: ROCm-Device-Libs were not found, device intrinsics will be unavailable.
│ Please run Pkg.build("AMDGPU") and reload AMDGPU.
│ Reason: unknown
└ @ AMDGPU ~/Documents/github/dotFiles/julia/.julia/dev/AMDGPU/src/AMDGPU.jl:226
┌ Warning: rocRAND failed to load, RNG functionality will be unavailable.
│ Please run Pkg.build("AMDGPU") and reload AMDGPU.
│ Reason: false
└ @ AMDGPU ~/Documents/github/dotFiles/julia/.julia/dev/AMDGPU/src/AMDGPU.jl:235
┌ Error: Exception while generating log record in module Main at /home/akako/Documents/github/dotFiles/julia/.julia/dev/AMDGPU/test/runtests.jl:26
│   exception =
│    UndefRefError: access to undefined reference

is there special driver requirement? I'm not using AMDPRO on Linux

@jpsamaroo
Copy link
Member Author

Using local ROCm installs in both cases with export JULIA_AMDGPU_DISABLE_ARTIFACTS=1. However, no artifacts seem to be used upon unsetting JULIA_AMDGPU_DISABLE_ARTIFACTS

You need to do ] build AMDGPU again after changing this variable, since it's only acted upon in the build step.

The power kernel failures are related to us not using method overlay tables like CUDA.jl (intentionally so, because on Julia 1.6 we would break CUDA by using them). Since we're lower-bounding Julia to 1.7, and I've already implemented this locally, I'll push those changes to this PR for testing.

@jpsamaroo
Copy link
Member Author

@Moelf can you please post AMDGPU.versioninfo()?

@jpsamaroo
Copy link
Member Author

@vchuravy method table overlays added!

@jpsamaroo jpsamaroo linked an issue Feb 7, 2022 that may be closed by this pull request
@Moelf
Copy link

Moelf commented Feb 7, 2022

julia> AMDGPU.versioninfo()
HSA Runtime (ready)
- Version: 1.1.0
- Initialized: true
ld.lld (MISSING)
HIP Runtime (ready)
ROCm-Device-Libs (MISSING)
rocBLAS (MISSING)
rocFFT (MISSING)
rocRAND (MISSING)
rocSPARSE (MISSING)
rocALUTION (MISSING)
MIOpen (MISSING)
HSA Agents (1):
- CPU: AMD Ryzen 9 3900X 12-Core Processor

We can run without it for many things, and since it often blocks usage
of certain cards due to questionable behavior in its library
initializer, it is worth not requiring that HIP be available.

Fix hipStream_t type in rocBLAS wrapper
Add rocSOLVER stubs
@jpsamaroo jpsamaroo force-pushed the jps/julia-1.7 branch 11 times, most recently from 2bb4390 to 79ec593 Compare February 15, 2022 02:18
@jpsamaroo jpsamaroo linked an issue Feb 15, 2022 that may be closed by this pull request
@jpsamaroo jpsamaroo linked an issue Feb 15, 2022 that may be closed by this pull request
@jpsamaroo jpsamaroo merged commit 7e79f2f into master Feb 15, 2022
@jpsamaroo jpsamaroo deleted the jps/julia-1.7 branch February 15, 2022 05:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Julia 1.7.0 breaks Add method overrides Embed/wrap lld linker Document math intrinsics usage
5 participants