code: func errorString(ret C.nvmlReturn_t) error {
  	if ret == C.NVML_SUCCESS {
  		return nil
  	}
  	// We need to special case this because if nvml library is not found
  	// nvmlErrorString() method will not work.
  	if ret == C.NVML_ERROR_LIBRARY_NOT_FOUND || C.nvmlHandle == nil {
  		return errLibraryNotLoaded
  	}
  	err := C.GoString(C.nvmlErrorString(ret))
  	return fmt.Errorf("nvml: %v", err)
  }
docs: // errorString takes a nvmlReturn_t and converts it into a golang error.
  // It uses a nvml method to convert to a user friendly error message.