Skip to content

manycoresoft/gpu-stress-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

gpu-stress-test

๊ฐœ์š”

NVIDIA GPU ๋“œ๋ผ์ด๋ฒ„๋Š” GPU ์˜จ๋„๊ฐ€ ์ผ์ • ์ˆ˜์ค€ ์ด์ƒ์œผ๋กœ ์˜ฌ๋ผ๊ฐ€๋ฉด ์ž๋™์œผ๋กœ GPU์˜ ๋™์ž‘ ํด๋Ÿญ์„ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค. ์ด๋Š” ํ•˜๋“œ์›จ์–ด๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ์กฐ์น˜์ด์ง€๋งŒ ๋Œ€์‹  GPU ๊ณ„์‚ฐ ์„ฑ๋Šฅ์ด ๊ทธ๋งŒํผ ๋–จ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ์ผ๋ฐ˜ ๊ณต๋ƒ‰์‹ ์„œ๋ฒ„์— GeForce ํ˜น์€ TITAN GPU๋ฅผ 4๊ฐœ ์ด์ƒ ์žฅ์ฐฉํ•˜์˜€์„ ๊ฒฝ์šฐ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋” ์‹ฌํ•˜๊ฒŒ ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค.

gpu-stress-test ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•ด ํ˜„์žฌ ๊ฐ€์ง€๊ณ  ๊ณ„์‹  GPU ์‹œ์Šคํ…œ์—์„œ ๋ฐœ์—ด๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ์ผ์–ด๋‚˜๋Š”์ง€๋ฅผ ์ง์ ‘ ํ™•์ธํ•ด ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜ ์Šคํฌ๋ฆฐ์ƒท์€ TITAN RTX GPU๊ฐ€ 4๊ฐœ ์žฅ์ฐฉ๋œ ์‹œ์Šคํ…œ์—์„œ gpu-stress-test ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” GPU ์„ฑ๋Šฅ์ด 15 TFLOPS ์ •๋„ ๋‚˜์™”์ง€๋งŒ, ๋‚˜์ค‘์—๋Š” GPU ์˜จ๋„๊ฐ€ 87๋„๋กœ ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ ์„ฑ๋Šฅ์ด 13 TFLOPS๋กœ ๋–จ์–ด์ง€๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ ๊ฐ€์ง€๊ณ  ๊ณ„์‹  ์‹œ์Šคํ…œ์—์„œ ๋ฐœ์—ด๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๊ด€์ธก๋˜์—ˆ๋‹ค๋ฉด, ์ฐจํ›„์—๋Š” ์ˆ˜๋ƒ‰์‹ GPU ์‹œ์Šคํ…œ์ธ DEEP Gadget์„ ๋„์ž…ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด ๋ณด์‹ญ์‹œ์˜ค.

Before GPU throttling

After GPU throttling

์ปดํŒŒ์ผ ๋ฐฉ๋ฒ•

์ปดํŒŒ์ผํ•˜๊ธฐ ์ „์— CUDA ํ™˜๊ฒฝ ์„ค์ •์ด ์ž˜ ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. $PATH ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— /usr/local/cuda/bin (ํ˜น์€ /usr/local/cuda-0.0/bin) ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€, $LD_LIBRARY_PATH ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— /usr/local/cuda/lib64 (ํ˜น์€ /usr/local/cuda-0.0/lib64) ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

[user@host ~]$ git clone https://github.com/manycoresoft/gpu-stress-test.git
[user@host ~]$ cd gpu-stress-test
[user@host gpu-stress-test]$ make
nvcc -o test test.cu -lcublas -lnvidia-ml

์‹คํ–‰ ๋ฐฉ๋ฒ•

ํ˜„์žฌ ์‹œ์Šคํ…œ์— ์žฅ์ฐฉ๋œ GPU ๊ฐœ์ˆ˜๋งŒํผ ํ„ฐ๋ฏธ๋„์„(์˜ˆ๋ฅผ ๋“ค์–ด PuTTY ์ฐฝ์„) ๋„์šฐ์‹ญ์‹œ์˜ค. ๊ทธ ๋‹ค์Œ ๊ฐ ํ„ฐ๋ฏธ๋„์—์„œ test ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค๋˜, ์ธ์ž๋กœ GPU ๋ฒˆํ˜ธ๋ฅผ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๊ฒน์น˜์ง€ ์•Š๊ฒŒ ๋„ฃ์œผ์‹ญ์‹œ์˜ค. ์•„๋ž˜ ์˜ˆ์‹œ๋Š” ์‹œ์Šคํ…œ์— GPU๊ฐ€ 4๊ฐœ ์žฅ์ฐฉ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์‹คํ–‰ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ํ„ฐ๋ฏธ๋„์—์„œ:

[user@host gpu-stress-test]$ ./test 0
Preparing the stress test...
Ready to use GPU #0.
Run 1: ...

๋‘ ๋ฒˆ์งธ ํ„ฐ๋ฏธ๋„์—์„œ:

[user@host gpu-stress-test]$ ./test 1
Preparing the stress test...
Ready to use GPU #1.
Run 1: ...

์„ธ ๋ฒˆ์งธ ํ„ฐ๋ฏธ๋„์—์„œ:

[user@host gpu-stress-test]$ ./test 2
Preparing the stress test...
Ready to use GPU #2.
Run 1: ...

๋„ค ๋ฒˆ์งธ ํ„ฐ๋ฏธ๋„์—์„œ:

[user@host gpu-stress-test]$ ./test 3
Preparing the stress test...
Ready to use GPU #3.
Run 1: ...

๊ฒฐ๊ณผ ํ™•์ธ

test ํ”„๋กœ๊ทธ๋žจ์€ ํ–‰๋ ฌ ๊ณฑ์…ˆ ์—ฐ์‚ฐ์„ 1,000๋ฒˆ ์‹คํ–‰ํ•˜๋ฉด์„œ ๊ณ„์†ํ•ด์„œ ๊ณ„์‚ฐ ์„ฑ๋Šฅ๊ณผ GPU ์˜จ๋„๋ฅผ ์ธก์ •ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์žฅ์‹œ๊ฐ„ ๊ธฐ๋‹ค๋ฆฌ๋ฉด์„œ ์„ฑ๋Šฅ๊ณผ ์˜จ๋„ ๋ณ€ํ™”๋ฅผ ํ™•์ธํ•ด ๋ณด์‹ญ์‹œ์˜ค. ๋งŒ์•ฝ GPU ์˜จ๋„๊ฐ€ 80๋„๊ฐ€ ๋„˜์–ด๊ฐ€๋ฉด์„œ ๊ณ„์‚ฐ ์„ฑ๋Šฅ์ด ์ฒ˜์Œ์— ๋น„ํ•ด 10% ์ด์ƒ ๋–จ์–ด์ง„๋‹ค๋ฉด, ๋ฐœ์—ด๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published