blob: 84a0935d3f06a5fd4e9f1cbeb54e3a2b13a862e6 [file] [view] [edit]
---
title: GCN3 HIP-Samples Tests
tags:
- x86
- amdgpu
layout: default
permalink: resources/hip-samples
shortdoc: >
Resources to build a disk image with the GCN3 HIP-Sample-Applications workloads.
---
# Resource: HIP Sample Applications
The [HIP sample apps](
https://github.com/ROCm-Developer-Tools/HIP/tree/roc-1.6.0/samples) contain
applications that introduce various GPU programming concepts that are usable
in HIP.
The samples cover topics such as using and accessing different parts of GPU
memory, running multiple GPU streams, and optimization techniques for GPU code.
Certain apps aren't included due to complexities with either ROCm or Docker
(hipEvent, profiler), or due to lack of feature support in gem5 (peer2peer)
Compiling the HIP samples, compiling the GCN3_X86 gem5, and running the HIP samples on gem5 is dependent on the gcn-gpu docker image, built from the `util/dockerfiles/gcn-gpu/Dockerfile` on the [gem5 stable branch](https://gem5.googlesource.com/public/gem5/+/refs/heads/stable).
## Compilation
```
cd src/gpu/hip-samples
docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu:v22-1 make
```
Individual programs can be made by specifying the name of the program
By default, the apps are built for all supported GPU types (gfx801, gfx803).
This can be changed by editing the --amdgpu-target argument in the Makefile.
## Pre-built binary
<http://dist.gem5.org/dist/v22-1/test-progs/hip-samples/2dshfl>
<http://dist.gem5.org/dist/v22-1/test-progs/hip-samples/dynamic_shared>
<http://dist.gem5.org/dist/v22-1/test-progs/hip-samples/inline_asm>
<http://dist.gem5.org/dist/v22-1/test-progs/hip-samples/MatrixTranspose>
<http://dist.gem5.org/dist/v22-1/test-progs/hip-samples/sharedMemory>
<http://dist.gem5.org/dist/v22-1/test-progs/hip-samples/shfl>
<http://dist.gem5.org/dist/v22-1/test-progs/hip-samples/stream>
<http://dist.gem5.org/dist/v22-1/test-progs/hip-samples/unroll>