Hi, first post here. I’ll try to be as specific as possible.
What I have:
Mint Linux, Dell m6700 with k3000m in prime Intel powersave mode. NVidia driver version 387.34
What I want to do:
Run the notebook in prime Intel powersave mode, occasionaly offload tasks via CUDA or OpenCL to the k3000m, also debugging on the card.
What I currently do:
This script, named “with-cuda”
#!/bin/bash
# run a program with access to CUDA
# e.g. with-cuda ./deviceQuery
ver=387
libs=/tmp/nvidia-libs-$ver-$UID/
mkdir -p $libs
ln -fs /usr/lib/nvidia-$ver/*nv* $libs
export LD_LIBRARY_PATH=$libs
nvidia-smi # trigger loading nvidia modules as non-root
exec $@
unshadows the nvdia specific libraries (but not libGL et at), activates the card and executes a consumer.
What works:
Everything works as intended, can launch nsight and debug CUDA, OpenCL works too.
What does not work:
Turning off the card again. Loading the kernel modules powers the card on, but unloading them does not power the card down, as it seems as I figured by inspecting the power stats of my battery: Idle consumption after boot is ~16W (Intel graphics only), but remains ~24W after executing anything using “with-cuda”
What I tried:
unloading the kernel modules
=> no idle power reduction
# env LD_LIBRARY_PATH=/usr/lib/nvidia-387 nvidia-smi drain -p 0000:01:00.0 -m 0
Successfully set GPU 0000:01:00.0 drain state to: not draining.
# env LD_LIBRARY_PATH=/usr/lib/nvidia-387 nvidia-smi drain -p 0000:01:00.0 -r
Failed to remove the specified GPU.
=> no idle power reduction
What I would like to know:
A way to power down the card when not in use anymore, because it increases idle consumption in battery mode by 50%.