[code-reflection] RFR: HIP HAT backend [v2]

iotamudelta duke at openjdk.org
Tue Nov 26 17:11:35 UTC 2024


> * Use the C99 code path to generate HIP-compliant kernel code.
> * Runtime compilation through hipRTC.
> * Use standard HIP malloc/free, device inspection for infrastructure.
> * Integrate into HAT compilation and examples.
> * Confirmed to work on AMD Radeon RX 68000XT w/ ROCm 6.2.2
> 
> hipinfo output:
>> Using device 0: AMD Radeon RX 6800 XT
>> HIP Device has major=10 minor=3 compute capability
>> HIP Device has wave front size 32
>> HIP Device has threadsPerBlock 1024
>> HIP Cores 36
>   Total amount of global memory:   17163091968
>   64-bit Memory Address:           YES
> 
> mandel example:
> 
> 
>                           ......................................
>                          .......................................
>                        .........................................
>                        .........................................
>                       ..........................................
>                      ...........................................
>                     ............................................
>                    .............................................
>                    .............................................
>                   ..............................................
>                  ................................. ..,..........
>                  .................................,,,,..........
>                 ..................................,:,...........
>                 ................................,,: :...........
>                ................................::,* :,,.........
>                .................................,     ,.........
>               .................................,:    -,.........
>               ............................,...,,,    :,,.....,..
>               ..........................,::,,:: --  -#,,#,...:..
>              ...........................,,  ,:           ,,:,:,.
>              ...........................,:                ,  ,,.
>              ...........................,,:                  :..
>             ..........................,::                   ,,..
>             ..............,...........,,                     *..
>             ...............,...,......,:                     :,,
>             ...............,,,,,,,,,,,,                       +:
>             ...............,,+,, ,-,,,*                       ,.
>            ................,:       ,,                        @.
>            ...............,,        #,                        ,.
>            ............,,,,:      ...

iotamudelta has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits:

 - Merge branch 'code-reflection' into hip_backend
 - Merge branch 'code-reflection' into hip_backend
 - Fix whitespace.
 - Merge branch 'openjdk:code-reflection' into hip_backend
 - Add a HIP backend.
   
   * Use the C99 code path to generate HIP-compliant kernel code.
   * Compile code using runtime compilation through hipRTC.
   * Use standard HIP malloc/free, device inspection for infrastructure.
   * Integrate into HAT compilation and examples.
   * Confirmed to work on AMD Radeon RX 68000XT w/ ROCm 6.2.2
   
   hipinfo output:
   > Using device 0: AMD Radeon RX 6800 XT
   > HIP Device has major=10 minor=3 compute capability
   > HIP Device has wave front size 32
   > HIP Device has threadsPerBlock 1024
   > HIP Cores 36
     Total amount of global memory:   17163091968
     64-bit Memory Address:           YES
   
   mandel example:
   
                             ......................................
                            .......................................
                          .........................................
                          .........................................
                         ..........................................
                        ...........................................
                       ............................................
                      .............................................
                      .............................................
                     ..............................................
                    ................................. ..,..........
                    .................................,,,,..........
                   ..................................,:,...........
                   ................................,,: :...........
                  ................................::,* :,,.........
                  .................................,     ,.........
                 .................................,:    -,.........
                 ............................,...,,,    :,,.....,..
                 ..........................,::,,:: --  -#,,#,...:..
                ...........................,,  ,:           ,,:,:,.
                ...........................,:                ,  ,,.
                ...........................,,:                  :..
               ..........................,::                   ,,..
               ..............,...........,,                     *..
               ...............,...,......,:                     :,,
               ...............,,,,,,,,,,,,                       +:
               ...............,,+,, ,-,,,*                       ,.
              ................,:       ,,                        @.
              ...............,,        #,                        ,.
              ............,,,,:         :                        ,.
              ............,-:,                                   ..
              ...........,::                                    ,..
                                                              :,...
              ...........,::                                    ,..
              ............,-:,                                   ..
              ............,,,,:         :                        ,.
              ...............,,        #,                        ,.
              ................,:       ,,                        @.
               ...............,,+,, ,-,,,*                       ,.
               ...............,,,,,,,,,,,,                       +:
               ...............,...,......,:                     :,,
               ..............,...........,,                     *..
               ..........................,::                   ,,..
                ...........................,,:                  :..
                ...........................,:                ,  ,,.
                ...........................,,  ,:           ,,:,:,.
                 ..........................,::,,:: --  -#,,#,...:..
                 ............................,...,,,    :,,.....,..
                 .................................,:    -,.........
                  .................................,     ,.........
                  ................................::,* :,,.........
                   ................................,,: :...........
                   ..................................,:,...........
                    .................................,,,,..........
                    ................................. ..,..........
                     ..............................................
                      .............................................
                      .............................................
                       ............................................
                        ...........................................
                         ..........................................
                          .........................................
                          .........................................
                            .......................................

-------------

Changes: https://git.openjdk.org/babylon/pull/254/files
  Webrev: https://webrevs.openjdk.org/?repo=babylon&pr=254&range=01
  Stats: 688 lines in 13 files changed: 686 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/babylon/pull/254.diff
  Fetch: git fetch https://git.openjdk.org/babylon.git pull/254/head:pull/254

PR: https://git.openjdk.org/babylon/pull/254


More information about the babylon-dev mailing list