openwall / openwall/john

[Feature Request] Update INSTALL.md for AMD ROCm for Linux builds

Open
#5,522 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

documentation
Dominant language
C
Stars
13.6k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

OS: Ubuntu 24.04 LTS
Kernel: 6.8.0-40-generic
GPU: AMD Radeon RX 6900 XT, AMD Radeon Instinct MI 50
ROCk module version: 6.8.5
ROCm: 6.2.0

With the latest ROCm installation, AMD has restructured OpenCL headers and libraries.

Just specifying 2 flags in ./configure command can fix that.

It'll be great if we can add a small section in INSTALL.md for AMD GPU build:

./configure LDFLAGS=-L/opt/rocm/lib CPPFLAGS=-I/opt/rocm/include

With default ./configure:


# john-the-ripper.opencl --list=opencl-devices
Error: No OpenCL-capable platforms were detected by the installed OpenCL driver.
Error: No OpenCL-capable devices were detected by the installed OpenCL driver.

With the updated configure:

# ./john --list=opencl-devices
Platform #0 name: AMD Accelerated Parallel Processing, version: OpenCL 2.1 AMD-APP (3625.0)
    Device #0 (1) name:     gfx1030
    Board name:             AMD Radeon RX 6900 XT
    Device vendor:          Advanced Micro Devices, Inc.
    Device type:            GPU (LE)
    Device version:         OpenCL 2.0
    OpenCL version support: OpenCL C 2.0
    Driver version:         3625.0 (HSA1.1,LC) - AMDGPU-Pro
    Native vector widths:   char 4, short 2, int 1, long 1
    Preferred vector width: char 4, short 2, int 1, long 1
    Global Memory:          16368 MiB
    Global Memory Cache:    16 KiB
    Local Memory:           64 KiB (Local)
    Constant Buffer size:   13912 MiB
    Max memory alloc. size: 13912 MiB
    Max clock (MHz):        2660
    Profiling timer res.:   1 ns
    Max Work Group Size:    256
    Parallel compute cores: 40
    Stream processors:      2560  (40 x 64)
    Speed index:            6809600
    SIMD width:             32
    Wavefront width:        32
    PCI device topology:    83:00.0

    Device #1 (2) name:     gfx906:sramecc+:xnack-
    Board name:             AMD Radeon (TM) Pro VII
    Device vendor:          Advanced Micro Devices, Inc.
    Device type:            GPU (LE)
    Device version:         OpenCL 2.0
    OpenCL version support: OpenCL C 2.0
    Driver version:         3625.0 (HSA1.1,LC) - AMDGPU-Pro
    Native vector widths:   char 4, short 2, int 1, long 1
    Preferred vector width: char 4, short 2, int 1, long 1
    Global Memory:          16368 MiB
    Global Memory Cache:    16 KiB
    Local Memory:           64 KiB (Local)
    Constant Buffer size:   13912 MiB
    Max memory alloc. size: 13912 MiB
    Max clock (MHz):        1700
    Profiling timer res.:   1 ns
    Max Work Group Size:    256
    Parallel compute cores: 60
    Stream processors:      3840  (60 x 64)
    Speed index:            6528000
    SIMD width:             16
    Wavefront width:        64
    PCI device topology:    c3:00.0

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Update INSTALL.md with a small AMD ROCm section for Linux builds. Start by reviewing the existing build instructions and the provided ./configure command with LDFLAGS and CPPFLAGS. Done means the documented command explains how to detect the listed OpenCL devices with ./john --list=opencl-devices.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
build-system, documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.