Skip to content

Wip/rx 7800 xt results #33

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

Open
wants to merge 28 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
c221806
Add support for running AMD GPU benchmarks
lamikr Jun 7, 2024
bff98d0
AMD Radeon RX 6800 gpu benchmark results
lamikr Jun 7, 2024
721915a
Add 7900 XTX results
eitch Jun 25, 2024
32fe071
rename and re-arrange old results to plot them more easily
lamikr Jul 21, 2024
f9f8b05
various benchmark execution fixes
lamikr Jul 21, 2024
4d1813f
benchmarks on devices having both amd and nvidia gpus
lamikr Jul 22, 2024
eb53c39
updated readme.sh
lamikr Jul 22, 2024
67aa35e
use gpu memory to select benchmark models
lamikr Jul 25, 2024
80f382b
do not run double precision benchmarks on small devices
lamikr Aug 2, 2024
2dee768
initial benchmark result plotter
lamikr Aug 1, 2024
fed5f82
benchmark selection improvements
lamikr Aug 3, 2024
fdaf038
add amd framework 16 gpu benchmarks
lamikr Aug 3, 2024
75b52f6
small readme update
lamikr Aug 3, 2024
e85f6b6
readme updates
lamikr Aug 3, 2024
9eec081
add AMD 680M iGPU gfx1035 results with 6.10.2 kernel
lamikr Aug 3, 2024
cce0e76
sort columns by the number that follows the string
lamikr Aug 11, 2024
87112fe
add RX7700S/gfx1102 results with flash attenation optimization
lamikr Aug 11, 2024
4bab725
show benchmark results with new pytorch optimization for 7700S
lamikr Aug 11, 2024
1401301
update the readme
lamikr Aug 11, 2024
ca5c1a4
reduce the tests run on minimal setup
lamikr Nov 1, 2024
931900b
benchmark code cleanups
lamikr Nov 19, 2024
39dd8c2
update model selection logic
lamikr Nov 29, 2024
21387fe
add AMD Radeon RX 5700 benchmarks
lamikr Nov 29, 2024
eeb9d2c
more benchmark model selection code cleanups
lamikr Dec 2, 2024
89c9524
sync result names
lamikr Dec 24, 2024
d877616
small benchmark model selection updates
lamikr Dec 24, 2024
bef7e5e
benchmark printout improvements
lamikr Jan 3, 2025
6a65354
add AMD RX7800_XT results from Bazza-63
lamikr Jan 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 55 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,49 @@
# About
Comparison of learning and inference speed of different GPU with various CNN models in __pytorch__
List of tested AMD and NVIDIA GPUs:

### Example Results

Following benchmark results has been generated with the command: ./show_benchmarks_resuls.sh
Graph shows the 7700S results both with the pytorch 2.3.1 and with pytorch 2.4.0.
ROCM SDK builders pytorch 2.4.0 contains the optimized flashattention support for
AMD RX 7700S. (and other gfx1100/gfx1101/gfx1102 and gfx1103 cards)

![Resnet Benchmark for Half-type](fig/comparison/resnet_benchmarks.png "Pytorch with AMD GPU")

# Benchmark Execution

### Benchmarking All GPUs

This command will use pytorch to search all GPUs and will then
run the benchmark for each of them separately and then in the end
the benchmark that uses all of the GPUs

./run_benchmarks.sh

### Benchmarking One GPU

This command shows how to execute the benchmark for single gpu by using the -i parameter.

python3 benchmark_models.py -i 1 -g 1

First GPU has index 0, second 1, etc...

### Benchmark Results

* New Results are stored under "new_results" folder
* Existing old results are under results folder
* After running the benchmarks, you can create a pull request to github
to request to get them merged
* You can view the results of new benchmarks by addings the name of it's result
file to plot_benchmarks.py and then running the show_benchmarks.sh script.

## List of Benchmarked GPUs

* AMD_Radeon_RX_6800
* AMD_Radeon_RX_7900_XTX
* AMD_Radeon_RX_7700S (Framework 16 laptop discrete GPU)
* AMD_Radeon_780M (Framework 16 laptop iGPU)
* 1080TI
* TITAN XP
* TITAN V
Expand Down Expand Up @@ -42,11 +85,11 @@ ResNet152, DenseNet121, DenseNet169, DenseNet201, DenseNet161 mobilenet mnasnet

## Usage

`./test.sh`
`././run_benchmarks.sh`

## Results

### requirement
### Requirement
* python>=3.6(for f-formatting)
* torchvision
* torch>=1.0.0
Expand All @@ -55,18 +98,24 @@ ResNet152, DenseNet121, DenseNet169, DenseNet201, DenseNet161 mobilenet mnasnet
* plotly(for plot)
* cufflinks(for plot)


### Environment

* Pytorch version `1.4`
* Pytorch version `2.3`
* Number of GPUs on current device `4`
* CUDA version = `10.0`
* CUDNN version= `7601`
* `nvcr.io/nvidia/pytorch:20.10-py3` (docker container in A100 and 3090)



### Change Log
* 2024/07/22
* benchmarks can now be run also on AMD gpus
* ./run_benchmarks.sh script uses now pytorch to query the gpu count
and will first run the tests for each device separately and then
by using all GPU's simultaneously
* new benchmark results are saved to new_results/<gpu_index>/<gpu_name> folder
* added new "-i" option which can be used to specify which GPU to use
* If gpu index is not specified with -i option but the total gpu count specified
by -g option > 1, then the tests will be run in a way that it uses all gpus simultaneously
* 2021/02/27
* Addition result in RTX3090
* Addition result in RTX2060(thanks for gutama)
Expand Down
Loading