installing cuda on fedora 29 with legacy cuda drivers

hi,

need some help installing the cuda toolkit.

recently upgraded my pc. new cpu. new motherboard.
trying to install the latest cuda toolkit - cuda10.1 - on fedora 29
i have the following gpus in the pc:
geforce gt 610 (driving the screen)
geforce gtx 780ti

i initially downloaded the toolkit via rpm
no error given. but no display drivers installed. could not locate any with cat /proc/driver/nvidia/version
so, icons/ shortcuts have been created for all the components, but initially the X server did not work, and eclipse gave an error (see below).
had to revert to a legacy driver (390) for the geforce 610
now X server works, and the nvidia display driver is present - can locate it with cat
but eclipse still gives an error:
An error has occurred. See the log file /home/bbarnard/cuda-workspace/.metadata/.log.
which is not there - i cant locate it.

i tried to install the toolkit (only thing i short or need to get to work right now) with the local runfile, but it gives the error:
Extraction failed.
Ensure there is enough space in /tmp and that the installation package is not corrupt
Signal caught, cleaning up
this is after using --tempdir=/home/bbarnard/cuda2
even with --extract=/path
checksum is fine, so it cant be a corrupt package. have also downloaded twice.

i cant remove the initial cuda installation, because there is no usr/local/cuda-10.1/bin/cuda-uninstaller.

is there any way to install the cuda toolkit only via rpm?

You can’t use GT610 with any CUDA version after 8.0.

If you attempt to install a driver after R390 with a GT610 installed in your machine, you will have trouble.

The first step in this process is to either resolve to use CUDA 8.0 or else if you intend to run CUDA 10.1 codes on that machine, you must physically remove the GT610 from your machine.

If you only want to use CUDA 10.1 for compiling codes (not running them), then you should be able to install it via rpm by installing cuda-toolkit-10-1 instead of installing cuda.

Extraction requires several gigabytes of space. That is the most likely reason why extraction failed.

thanks, txbob

"You can’t use GT610 with any CUDA version after 8.0. "
without arguing, where is this documented? i thought i saw on the cuda website that gt610 is still covered.
is it based on the compute capability?

“If you attempt to install a driver after R390 with a GT610 installed in your machine, you will have trouble.”
during setup, the >400 driver tells me it will ignore the gt610

(where) can you still get cuda 8? what version of fedora does it run with?

again many thanks

another thing, what is the “least” nvidia driver one can use with cuda 10?
i.e. the driver version must be greater than… what exactly?

GeForce GT610 is compute capability 2.1. There are a number of ways to determine this, one of which is to run deviceQuery on a supported CUDA toolkit version.

Fermi (== cc 2.x) deprecation/removal of support was documented in the CUDA 8.0 Toolkit release notes, and CUDA 8.0 toolkits emitted warnings to this effect if you compiled for a Fermi device:

https://docs.nvidia.com/cuda/archive/8.0/cuda-toolkit-release-notes/index.html#deprecated-features

older CUDA toolkits are available on the legacy releases page.
go to http://www.nvidia.com/getcuda and click on legacy releases button in the lower right hand corner.

The supported environments for any CUDA toolkit are documented in the relevant install guide. If you go to the legacy releases page, you will see a link for online documentation next to recent CUDA toolkit links. Click on the online documentation link. Then click on the linux install guide.

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

refer to table 1

got it. many thanks

i took out the gt610, installed the driver 430, but nsight still gave the error. managed to locate the error/ metadata log (had to reveal hidden files). see below.

ran dnf install java-1.8.0-openjdk. this seems to fix the problem. nsight eclipse at least now opens.
not sure how to invoke nsight -vm /usr/bin/java

what would be a nice replacement card for the gt610, just to run the screen?

metadata.log (first part):
eclipse.buildId=unknown
java.version=11.0.3
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_ZA
Command-line arguments: -os linux -ws gtk -arch x86_64

!ENTRY com.nvidia.cuda.ide.build 4 0 2019-05-30 05:15:55.451
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: com.nvidia.cuda.ide.build [9]
Unresolved requirement: Require-Bundle: org.eclipse.cdt.managedbuilder.core
→ Bundle-SymbolicName: org.eclipse.cdt.managedbuilder.core; bundle-version=“8.3.0.201409172108”; singleton:=“true”
org.eclipse.cdt.managedbuilder.core [108]
Unresolved requirement: Require-Bundle: org.eclipse.cdt.core; bundle-version=“[5.0.0,6.0.0)”
→ Bundle-SymbolicName: org.eclipse.cdt.core; bundle-version=“5.7.0.nvidia-qualifier”; singleton:=“true”
org.eclipse.cdt.core [88]
Unresolved requirement: Require-Capability: osgi.ee; filter:=“(&(osgi.ee=JavaSE)(version=1.7))”

what would be a nice replacement card for the gt610, just to run the screen?
and that will go with my gtx780ti?
even the 430 driver is a legacy one, so will the affect the choice?

can extract the local runfile now as well.
used --tempdir instead of --tmpdir and did not pick this up initially, because the command prompt did not complain about this

430 driver is not legacy
340 driver is legacy

some folks use a gt1030 for display. Inexpensive (~$90) pascal device.

i called the driver legacy, because i had to locate a driver for the 780ti in the legacy bin.

many thanks

You don’t have to locate a driver for the 780ti in the legacy bin.

lol
when i searched for a driver for the 780ti, i was "directed’ to the legacy bin by the website

not sure which website you are referring to or what you did

when I go to:

[url]Official Drivers | NVIDIA

and select

“GeForce”, “700 Series”, “780 TI”, Linux 64-bit, Game Ready Driver, then click “Search”

it immediately directs me to 430.14:

https://www.nvidia.com/Download/driverResults.aspx/147582/en-us

which is a recent driver for many GPUs. No direction to legacy bin that I can see.

R430 drivers are very recent. Not legacy in any sense that I know of.

i did not select game-ready, but the other option, as this seemed more appropriate to my needs and requirements.

as ridiculous as this may sound, i am currently struggling to allow software preemption in nsight eclipse, so that i can debug with a single gpu.
i now of the popup message that reminds of this, but i disabled it previously.
how do you actually enable software preemption in eclipse?

a google search on “preemption nsight eclipse” turned this up:

[url]https://docs.nvidia.com/cuda/nsight-eclipse-edition-getting-started-guide/index.html#unique_90064552[/url]

lol
yes i know. that is not even the best doc you will find online.
that particular doc only mentions preemption twice (2 times) with no real steps.
the better doc is the gdb manual

under 3.3.2 it states:

There are two ways to enable this functionality:

Use the following command:
set cuda software_preemption on

Export the following environment variable:
CUDA_DEBUGGER_SOFTWARE_PREEMPTION=1

but i need and was hoping for a bit more than that. i have not been using cuda for a (long) while, and need to catch up again.
is that running the (set cuda…) command from the command line?
and where exactly do you set the environment variable?
i can think of possibilities, but dont want to guess - i was hoping for an example of detailed instructions so that i dont have to guess and trial.

there is also the symbol cudgb_enable_preemption_debugging, but not entirely sure how to use it - where do i set it? can i set it under the project properties-> paths and symbols

i have now run the “set cuda software_preemption on” command from within cuda-gdb in the terminal.
i opened cuda-gdb in the terminal, executed the command, terminated cuda-gdb, and then tested in nsight eclipse, but this does not seem to work.

is there a way to somehow test or see if the particular flag or option was (successfully) set?

and how does nsigt eclipse invoke cuda-gdb? i take it it is possible to set the “CUDA_DEBUGGER_SOFTWARE_PREEMPTION=1” cuda-gdp environment variable from within eclipse as a cuda-gdb environment variable or option.