xmr-stak-amd icon indicating copy to clipboard operation
xmr-stak-amd copied to clipboard

Max memory allocation 4GB on 16GB cards

Open rhlug opened this issue 6 years ago • 2 comments

Trying to make use of 16GB of memory, but Max memory allocation says 4GB. Which means I have to create 4 threads per GPU to utilize all that space.

# clinfo | grep mem
  Global memory size                              16978542592 (15.81GiB)
  Global free memory (AMD)                        16749544 (15.97GiB)
  Global memory channels (AMD)                    8
  Global memory banks per channel (AMD)           16
  Global memory bank width (AMD)                  256 bytes
  Max memory allocation                           4244635648 (3.953GiB)
  Unified memory for Host and Device              No
  Local memory type                               Local
  Local memory size                               32768 (32KiB)
  Local memory syze per CU (AMD)                  65536 (64KiB)
  Local memory banks (AMD)                        32
  Global memory size                              16978542592 (15.81GiB)
  Global free memory (AMD)                        16753144 (15.98GiB)
  Global memory channels (AMD)                    8
  Global memory banks per channel (AMD)           16
  Global memory bank width (AMD)                  256 bytes
  Max memory allocation                           4244635648 (3.953GiB)
  Unified memory for Host and Device              No
  Local memory type                               Local
  Local memory size                               32768 (32KiB)
  Local memory syze per CU (AMD)                  65536 (64KiB)
  Local memory banks (AMD)                        32

I get better speeds out of 2 threads utilizing 8GB of ram than I do 4 threads utilizing 16 GB of ram.

Is there anyway to exceed that "Max memory allocation" per thread so I can just have 2 threads using the whole 16GB. Or is 16GB just a waste of an extra 8GB?

rhlug avatar Jul 11 '18 17:07 rhlug

No this is a limit from the driver. I workarounded it in the past by doing to allocations per thread in the miner but this not increases the hashrate therefore it goes never int mainline.

rhlug [email protected] schrieb am Mi., 11. Juli 2018, 19:48:

Trying to make use of 16GB of memory, but Max memory allocation says 4GB. Which means I have to create 4 threads per GPU to utilize all that space.

clinfo | grep mem

Global memory size 16978542592 (15.81GiB) Global free memory (AMD) 16749544 (15.97GiB) Global memory channels (AMD) 8 Global memory banks per channel (AMD) 16 Global memory bank width (AMD) 256 bytes Max memory allocation 4244635648 (3.953GiB) Unified memory for Host and Device No Local memory type Local Local memory size 32768 (32KiB) Local memory syze per CU (AMD) 65536 (64KiB) Local memory banks (AMD) 32 Global memory size 16978542592 (15.81GiB) Global free memory (AMD) 16753144 (15.98GiB) Global memory channels (AMD) 8 Global memory banks per channel (AMD) 16 Global memory bank width (AMD) 256 bytes Max memory allocation 4244635648 (3.953GiB) Unified memory for Host and Device No Local memory type Local Local memory size 32768 (32KiB) Local memory syze per CU (AMD) 65536 (64KiB) Local memory banks (AMD) 32

I get better speeds out of 2 threads utilizing 8GB of ram than I do 4 threads utilizing 16 GB of ram.

Is there anyway to exceed that "Max memory allocation" per thread so I can just have 2 threads using the whole 16GB. Or is 16GB just a waste of an extra 8GB?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/fireice-uk/xmr-stak-amd/issues/224, or mute the thread https://github.com/notifications/unsubscribe-auth/AYsxtq9yJgkIryDkcTd4xelZu59XQaRhks5uFjpegaJpZM4VLksL .

psychocrypt avatar Jul 11 '18 17:07 psychocrypt

If we get 770h/s on 4GB rx570, and 1140h/s on 8GB rx570, surely we should get more out of 16gb on cryptonight-heavy at least...

Can you provide the patch or point me to a commit? I'd like to test this again.

rhlug avatar Jul 11 '18 18:07 rhlug