weixin_39634898
weixin_39634898
2020-12-02 09:15

JSON commands for adjusting clock speeds and power limits

From readme.md: "The API works over standard TCP port and is JSON-message based with '\n' terminated messages. Do note that once you build up such application, you virtually have no limits anymore. You can truly optimize your mining to the max; you can launch various algorithms (at the same time), you can randomly assign workers (turn devices on off), do dual/triple mining, algorithm switching, adjusting TDPs, core or memory clock and fan speeds. Additionally to that, you can also read various GPU parameters and algorithm speeds reached by GPUs."

This implies that excavator internally has a wah to adjust the card's clock speeds and power limits without having to externally set them using nvidia-settings and nvidia-smi. If that is true, can you please provide at least some indication regarding what JSON needs to be issued to control it? The default json example file doesn't seem to provide any clues and there is no source code to read for the information.

该提问来源于开源项目:nicehash/excavator

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

10条回答

  • weixin_39548968 weixin_39548968 5月前

    , do you plan to add gpu_tdp_min and gpu_tdp_max to the results of the device.get method?

    点赞 评论 复制链接分享
  • weixin_39634898 weixin_39634898 5月前

    Right, but normally the only control availble externally is nvidia-smi --power-limit Which of tdp and power_limit does that correspond to?

    点赞 评论 复制链接分享
  • weixin_39634898 weixin_39634898 5月前

    Setting the power_limit using the API results in the power limit on the card being set to 0-3W less than the value that was passed. Nvidia-smi sets it exactly/correctly.

    Setting clock speeds seemingly always returns an error "unable to set" even when running as root.

    点赞 评论 复制链接分享
  • weixin_39994296 weixin_39994296 5月前

    -bobic what OS are you using?

    No, not at the moment (I'll add it to our backlog).

    点赞 评论 复制链接分享
  • weixin_39634898 weixin_39634898 5月前

    I'm on Linux.

    点赞 评论 复制链接分享
  • weixin_39994296 weixin_39994296 5月前

    -bobic You need to add Coolbits option to your xorg.conf file.

    https://wiki.archlinux.org/index.php/NVIDIA/Tips_and_tricks#Enabling_overclocking

    点赞 评论 复制链接分享
  • weixin_39634898 weixin_39634898 5月前

    Already did that, otherwise nvidia-settings wouldn't work either. But in the case I'm seeing here, using the API via excavator doesn't work, using nvidia-settings does, for any of the settings (fan speed, clock offsets).

    点赞 评论 复制链接分享
  • weixin_39994296 weixin_39994296 5月前

    Please take a look at command_file_example_1.json.

    There is an example included for setting power limit, core and memory clock:

    
    {"time":5,"commands":[
     {"id":1,"method":"device.set.power_limit","params":["0","150"]},
     {"id":1,"method":"device.set.core_delta","params":["0","240"]},
     {"id":1,"method":"device.set.memory_delta","params":["0","-300"]},
    ...
    

    All methods are also included in the api documentation: device.set.tdp, device.set.core_delta, device.set.memory_delta etc.

    点赞 评论 复制链接分享
  • weixin_39634898 weixin_39634898 5月前

    I see here: https://github.com/nicehash/excavator/tree/master/api that there is both device.set.tdp and device.set.power_limit

    Are those just aliases for the same thing, or are they different things? If different, what is the difference?

    点赞 评论 复制链接分享
  • weixin_39994296 weixin_39994296 5月前

    TDP and power limit are not the same thing. Power limit tries to control the maximum power while TDP or thermal design power controls the maximum amount of heat generated by the GPU (to prevent overheating).

    You can read more about it here: https://en.wikipedia.org/wiki/Thermal_design_power

    点赞 评论 复制链接分享

相关推荐