Claymore's miner environment variables

digimondigimon Member Posts: 43
In the Readme file of Claymore's miner I read the following:

For AMD cards, set the following environment variables, especially if you have 2GB cards:

GPU_FORCE_64BIT_PTR 0
GPU_MAX_HEAP_SIZE 100
GPU_USE_SYNC_OBJECTS 1
GPU_MAX_ALLOC_PERCENT 100
GPU_SINGLE_ALLOC_PERCENT 100

Are these environment variables required for Nvidia cards as well, and where can I find the description of these variables?

Best Answers

  • digimondigimon Posts: 43
    Accepted Answer
    I found the description of the environment variables at the link below, but they do not indicate if these are useful for Nvidia cards as well:

    https://cryptoyeti.com/ethereum-mining-gpu-cant-allocate-the-dag-in-a-single-chunk/

    GPU_FORCE_64BIT_PTR [0 | 1] – When set to 0 this setting allows access to 32-bit address space of memory ~3.8 GB. When set to 1 it allows access to 64-bit address space. While it may sound like a good idea to set it to 1, it may actually hurt performance since then pointer access would require twice the number of clock cycles to complete than it would if left in 32bit mode. Note: For gaming leave this set to 1, especially if you want to use all of your memory in 4GB+ cards.

    GPU_MAX_HEAP_SIZE [0 – 100] – By default the memory made available to OpenCL is limited to just 50% of total GPU memory. With this setting it is possible to increase the amount of memory available up to 100%

    GPU_USE_SYNC_OBJECTS [0 | 1] – Syncs the System CPU with the GPU actions to improve performance, 0 is thought to lock usage to a single CPU core while 1 is thought to allow access to multiple CPU cores. Since this is a undocumented setting, it is hard to tell for sure. If you see 100% CPU utilization, try the opposite setting, There is even some debate if this works with Windows at all.

    GPU_MAX_ALLOC_PERCENT [0 – 100] – Maximum amount of memory that can be allocated globally. Needs to be equal to or higher than the next setting.

    GPU_SINGLE_ALLOC_PERCENT [0 – 100] – Maximum amount of memory that can be allocated to a single process. This is limited by the above setting, so be sure to increase both.

  • digimondigimon Posts: 43
    edited November 2017 Accepted Answer
    I removed these environment variables and tried mining without them using a rig with GTX 1050 and 1060, 4GB and 6GB, cards. I have not notice any difference in comparison to mining with these environment variables.

    This is to confirm that these variables are for AMD graphics cards, as it states in Claymore's ReadMe file, and not for Nvidia cards.

Answers

  • cjclm7cjclm7 Member Posts: 77
    So it is not clear if these settings are required for NVIDIA GPUs?

    In Windows 10 is easy to set it permanently in Control Panel\System and Security\System\Advanced\Environment Variables.

    What about Linux? Are these settings also required? How and where to set them permanently?
  • cidmocidmo ✭✭✭ Member Posts: 446 ✭✭✭
    he did better than tell u only the answer to ur question
    he told u what each thing does
    ive never really looked just kinda trusted the miner devs
    good to know about the sync objects and ptr
    might not even need those as the reason those were put in were for older GCN amd cards
    heap size and alloc are self explanatory
  • digimondigimon Member Posts: 43
    cidmo said:

    he did better than tell u only the answer to ur question
    he told u what each thing does
    ive never really looked just kinda trusted the miner devs
    good to know about the sync objects and ptr
    might not even need those as the reason those were put in were for older GCN amd cards
    heap size and alloc are self explanatory

    I am not sure who you are referring to, when you say "he did" and "he told".

    In the ReadMe file Claymore says: "For AMD cards, set the following environment variables..."
    Do you know if these environment variables are useful for Nvidia cards as well, or are they AMD specific?
  • cidmocidmo ✭✭✭ Member Posts: 446 ✭✭✭
    its kinda self explanatory going off the descriptions of each string
    i said what was needed or not in my comment
    "good to know about the sync objects and ptr
    might not even need those as the reason those were put in were for older GCN amd cards
    heap size and alloc are self explanatory"
  • digimondigimon Member Posts: 43
    edited October 2017
    cidmo said:

    its kinda self explanatory going off the descriptions of each string
    i said what was needed or not in my comment
    "good to know about the sync objects and ptr
    might not even need those as the reason those were put in were for older GCN amd cards
    heap size and alloc are self explanatory"

    I am still not sure what you are saying.
    This was a Yes or No question...

    A "legendary contributor" at Bitcointalk forum confirmed that these environment variables are for AMD only (picture below).
    I will try mining without these on Nvidia rig to make sure.


  • cidmocidmo ✭✭✭ Member Posts: 446 ✭✭✭
    edited October 2017
    its not a yes or no answer
    older nvidia cards might need some of these strings
    newer prolly not
    back when eth was launched 750ti needed the mem alloc strings to generate the growing dag
    its dependent on hardware and drivers
    when in doubt try it out
  • digimondigimon Member Posts: 43
    edited October 2017
    cidmo said:

    its not a yes or no answer
    older nvidia cards might need some of these strings
    newer prolly not
    back when eth was launched 750ti needed the mem alloc strings to generate the growing dag
    its dependent on hardware and drivers
    when in doubt try it out

    So, you never doubted? :smile:
    I am not an expert, but if these variables are for OpenCL applications supported by AMD, I doubt they make any difference for Nvidia cards that use CUDA.
    Post edited by digimon on
  • cidmocidmo ✭✭✭ Member Posts: 446 ✭✭✭
    only one of those strings has anything to do with openCL
  • digimondigimon Member Posts: 43
    cidmo said:

    only one of those strings has anything to do with openCL

    Which one?
  • rado1309rado1309 Member Posts: 3
    Hello. I am new in mining ethereum and I have some questions about these variables.
    Is values of these parameters/variables (here stated) optimal for every AMD Radeon card ?
    Or does every card need specific values of these or another variables ?

    What parameters/variables have main influence on MH/s ?
    What are optimal settings for AMD Radeon 4 GB cards ?
    Thanks for any comments.
  • anakrisecoinanakrisecoin Member Posts: 1
    Ether mining is simple and fast. You can publish a block every 15 seconds. And, there is no limit how much Ether you can mine. This can serve as your guide in mining ethereum: LINK
Sign In or Register to comment.