Timeline for TargetDevice->"GPU" fails even though a CUDA GPU exists
Current License: CC BY-SA 3.0
8 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Apr 6, 2017 at 8:10 | history | bounty ended | Gregory Klopper | ||
Apr 6, 2017 at 8:10 | comment | added | Gregory Klopper | It's probably just my older GPU. The example in help docs is barely faster on GPU, but the network I built is about 10 times faster on CPU. I think it came down to precision. Using whole numbers yielded better speed on the GPU, but the CPU was still twice as fast. Using small reals in range -1..1 provides best outcome for the network, as well as best CPU speed (half-million inputs per second), GPU was AT BEST at about 1/10th the speed. Need a new GPU. | |
Apr 5, 2017 at 10:06 | comment | added | Edmund |
@GregoryKlopper Try comparing the two using the Basic Example in the TargetDevice documentation page. There is a huge difference between "GPU" and "CPU" as theTargetDevice . Perhaps the CUDA overheads make very tiny neural nets go a bit slower on GPU. However, for non-trivial neural nets you see a massive difference as in the documentation page example; "GPU" took seconds and "CPU" is at 53% after 7 minutes.
|
|
Apr 5, 2017 at 9:53 | comment | added | Edmund |
@GregoryKlopper Did you run it twice? If it was the first time running with TargetDevice -> "GPU" then things may take longer as Mathematica sets up all the required items in the background. The second run (in the same session) is usually more representative when doing a small example.
|
|
Apr 5, 2017 at 5:39 | comment | added | Gregory Klopper | You're a genius! I don't know how I missed it. System reported it being the latest driver and Nvidia update reported "No update available". However, installing 378.66 made things work! And really appreciate the reassurance that the dual-video config works. The crazy thing is - the GPU is MUCH MUCH MUCH slower at training my absolutely trivial neural net than my mobile i7 CPU: NetChain[{2, LogisticSigmoid, 3, SoftmaxLayer[]}, "Input" -> {150}, "Output" -> NetDecoder[{"Class", {-1, 0, 1}}]] | |
Apr 5, 2017 at 5:32 | vote | accept | Gregory Klopper | ||
Apr 5, 2017 at 1:26 | history | edited | Edmund | CC BY-SA 3.0 |
added 292 characters in body
|
Apr 5, 2017 at 1:20 | history | answered | Edmund | CC BY-SA 3.0 |