
CUDA Toolkit Release Notes - sergiomattei
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
======
sergiomattei
From the notes:

> CUDA 10.2 (Toolkit and NVIDIA driver) is the last release to support macOS
> for developing and running CUDA applications. Support for macOS will not be
> available starting with the next release of CUDA.

~~~
joshklein
Between this and the challenges around OpenMP (now generally solved), setting
up a Linux workstation just for experimenting was easier than getting it
working on my “pro” Apple hardware.

------
mister_hn
Fully understandable..anyways none is doing ML on Apple hardware due to ATi
Chipsets.. last Apple HW with Nvidia graphic cards are old or running Linux or
Windows with Bootcamp anyways

~~~
bayindirh
In my understanding, Radeon Instinct cards are not doing that bad. Yes,
they're not supported by CUDA, but they're not slouching either.

~~~
solidasparagus
It's extremely hard to use the standard ML toolchains for GPU on anything that
doesn't support CUDA.

~~~
ComodoHacker
>standard ML toolchains

So Nvidia has achieved their goal and pushed ATI out of ML market?

~~~
fluffy87
ATI was never in the AI market. They have been trying, but their efforts are a
joke compared tobest their competition is doing.

------
wlesieutre
Not surprising given Apple’s apparent vendetta against Nvidia hardware

~~~
snuxoll
A well deserved vendetta, Nvidia has screwed Apple over multiple times going
back to the PowerPC days. After the defective chipset fiasco one can’t blame
them for cutting ties.

~~~
QuixoticQuibit
That seems like a very one-sided take considering Apple’s history.

Moreover, the reason is almost certainly related to Apple not wanting to
proliferate Nvidia’s tools and instead force developers to use their Metal
API. AFAIK Apple’s even abandoned OpenCL on macOS.

~~~
sbuk
So, you are aguing that NVidia constantly messing up when Apple have used them
_in good faith_ as a supplier, followed by the subsequent denial of problems
even existing by NVIdia and their refusal to accept any culpability (see
Bumpgate), is "a very one-sided take" and eschew it in the belief that this is
all about pushing Metal? That seems like the very narrowly held view to me.
Perhaps they are thinking the way you propose, but since NVidia hasn't figured
_anywhere_ in any of Apple's hardware since Bumpgate, I'd suggest that NVidia
being a bad partner has considerably more to do with it.

~~~
benologist
Nearly a decade has passed since nVidia messed up one generation of laptops so
probably it's time to let it go. Grudges don't really help anyone, and Apple's
so far from innocent they shouldn't promote grudges as solutions to problems,
especially as alternatives to consumer-friendly hardware support.

In much more recent times Apple themselves ruined four generations of laptops
and were deceptive and dishonest about it, until they grudgingly rolled out
their free keyboard replacement program which starts expiring for their
earliest victims at the end of next year. Apple chose to experiment for 3
additional years at, in aggregate, major expense and inconvenience to their
customers.

nVidia was never as bad as Apple and it's hypocritical too. How many Foxconn
employees killed themselves without Apple permanently prohibiting working with
Foxconn? How many child workers have they found in their supply chain without
terminating their relationship with suppliers? nVidia obviously solved their
one issue, and went on to ship millions of chips in laptops since then without
problem.

~~~
sbuk
Apple’s behaviour is irrelevant in this instance. It has nothing to do with
the situation being discussed.

Your second paragraph, while containing the seed of facts, is total hyperbole.
It certainly isn’t worse than refusing to acknowledge anything was wrong and
then _refusing to pay for the repairs_! This is precisely what NVidia did. At
least Apple repaired the keyboards!

Your last paragraph is the usual trite rhetoric to anything that can be deemed
‘pro Apple’. Both items have been addressed _by Apple_
([https://www.apple.com/uk/supplier-
responsibility/](https://www.apple.com/uk/supplier-responsibility/)) albeit
after pressure, and they are continuing to apply pressure and _drop_ suppliers
that don’t meet their requirements.

------
shmerl
They are worth each other. Lock-in should be avoided, both from Apple and
Nvidia.

------
throwawaysea
So what do people here use to learn/fool around with GPU-dependent ML stuff
(non production use cases)? A non Mac laptop? Or do you do it all in the
cloud? Using the cloud presumably gets expensive over time and I also would
think that the overhead of dealing with a cloud setup and all the associated
legwork to get started can be frustrating compared to working locally.

~~~
proverbialbunny
If you're learning the basics, a laptop is great, because you're not number
crunching for days at a time.

If you're doing anything process intensive, gpu or cpu, you'll want a desktop
or cloud. Sure, some laptops are fast, but they head up, so there isn't much
of a way around it.

------
suyash
We need a CUDA alternative for non NVIDIA gpu's, specially on a Mac.

~~~
sorenjan
I recently looked into GPGPU programming, and it seems to be a bit of a mess,
which is surprising seeing how long it's been around and how much it is used.
I think a large part of it is due to Nvidia using their strong position to
hamper anything other than Cuda.

OpenCL 2.0 was announced in 2013, Nvidia added OpenCL 2.0 "for evaluation
purposes" in 2017. I don't think they have final support yet.

OpenCL 2.1 uses the same intermediate language as Vulkan, SPIR-V. Nvidia does
not seem to support this.

When OpenCL 2.2 was announced in 2017 Khronos said they were working on
converging OpenCL and Vulkan compute, but OpenCL will remain separate. I think
this means that they will both use the same SPIR-V backend to run shader code,
but I don't know.

Khronos also has SYCL. The latest version, 1.2.1, was released a few days ago
and uses OpenCL 1.2 as the backend. I'm guessing it doesn't use a newer
version because of Nvidia's poor support for them, but AMD doesn't seem to
support it well either.

Then there's a multitude of other libraries/platforms, like POCL, HCC, Acoran,
that I don't know anything about but found mentions of. AMD has HIP which can
convert Cuda to run on AMD hardware, so maybe Cuda is the best option for AMD
as well?

I find it a bit of an embarrassment for the industry that it's this messy and
complicated, and I don't see it getting better in the near future. It seems as
if the proprietary Cuda is still the best option, and that's a big failure for
everyone other than Nvidia. I don't want to use a proprietary language, but I
want the code to run well on all the major platforms. I still don't know what
to use.

[https://www.khronos.org/sycl/](https://www.khronos.org/sycl/)

[http://portablecl.org/](http://portablecl.org/)

[https://gpuopen.com/compute-product/hcc-heterogeneous-
comput...](https://gpuopen.com/compute-product/hcc-heterogeneous-compute-
compiler/)

[https://www.codeplay.com/products/acoran/](https://www.codeplay.com/products/acoran/)

[https://gpuopen.com/compute-product/hip-convert-cuda-to-
port...](https://gpuopen.com/compute-product/hip-convert-cuda-to-portable-c-
code/)

~~~
dahart
> I don't want to use a proprietary language

CUDA is mostly just limited C++. A couple of the interesting points in the
release notes: “Added support for CUDA Virtual Memory Management APIs.; 10.2
now includes libcu++, a parallel standard C++ library for GPUs.” Those things
make CUDA even easier to treat like regular C++.

The language isn’t really the force keeping people in or out, the libraries &
tools are. cuDNN, for example, is something you can’t get in OpenCL.

------
alphagrep12345
Why doesn't apple support NVIDIA though? Considering the whole ML and AI
community use only NVIDIA GPUs, it sucks that we can't use apple laptops for
the same.

~~~
ActorNightly
Why would you do anything compute intensive on laptops that suffer from
cooling issues?

~~~
gambiting
Why make such a broad statement at all? There are laptops for nearly every
need - yes there are some which will throttle very quickly and are only good
for light work, but there are laptops in every size that have decent enough
cooling that they can run at max load 24/7 without any issues. As to why
someone would do this - can you really not think of a single reason?

~~~
semi-extrinsic
I'm not so sure I agree. My old laptop (still in use) is a Dell Precision
m4800. It has a quad-core i7, and is so thick and heavy the word "laptop" is
kind of a joke. It has massive heatsinks and fairly loud fans. Still it will
throttle back after ~90 seconds of "make -j 4" or other heavily parallel jobs.

If you have a laptop that will run at 100% load indefinitely, it's only
because the manufacturer has chosen a low power CPU.

~~~
gambiting
Well, then you need to look a little bit longer around the market.

At work we use Eurocom laptops with desktop-grade i7 and i9s rated at 90W of
power - and we use them for conferences and trade shows to run our
demonstrations, they do absolutely fine under full load. Sure they weigh about
5KG, but that's absolutely fine for the target use. I hope that answers the
question of "why would you possibly want to do that".

I have a Razer Blade Stealth, 13" laptop where the manufacturer has actually
gone _against_ the advice from Intel, and gave the CPU a budget of 25W instead
of the advised 15W - and the cooling to work with that. Both the CPU and GPU
can be at full load indefinitely and will not throttle. It's just a well
designed dual-fan cooling solution.

My wife has a Lenovo Y540 - with an i5-9300H, 45W CPU - again, the cooling on
it is super beefy and it will run indefinitely at full load. And that's a
completely normal 15.6" laptop.

But you know what throttles? Laptops like the MacBook Air, where Apple used a
Y-series CPU and gave it zero cooling - that will throttle _hard_ after a
while. And that's a 5W chip. It's almost an achievement that they managed to
mess this up. But maybe they shouldn't feel too bad - a lot of other companies
do mess it up too. Dell XPS. HP Envy. Those are top lines for these brands and
they are famous for aggressive throttling under load.

My point is - _of course_ there are laptops on the market that are designed
for sustained full load and are completely absolutely fine with it. I'm just
baffled by 1) how can this not be obvious 2) how can it be hard to think of
one usecase where that's useful?

~~~
semi-extrinsic
Those Eurocom laptops look neat, thanks for the tip.

I'm just a bit surprised if they manage to squeeze out significantly better
thermal performance than Dell does out of a similarly bulky laptop.

Have you actually verified the core frequencies over time with a tool like
CPU-z when running a workload that pegs all cores at 100%?

The Precision model I have doesn't stutter or feel any slower under load. I've
never managed to make it feel slow, even when running heavy physics simulation
codes on all cores in the background. But when you actually monitor
frequencies, you see it clocks down by around 20%.

~~~
gambiting
Right, let's clarify what I mean by "throttling". All intel CPUs have base and
turbo speeds, and the turbo speeds usually only apply to a single core or to
multiple while there is thermal headroom. By "throttling" I do mean the CPU
falling below its base frequency to protect itself, I don't mean the turbo
frequency falling down under load, that's normal and happens even on desktop
CPUs with ample cooling.

As an example - the CPU in the Razer Blade is an i7-8565U, with base speed
1.8GHz, turbo speed 4.6GHz. Under maximum load I'll see it jump to 4.6GHz
briefly, and then settle at 3.2GHz where it will remain indefinitely. Sure,
the CPU has "throttled" down from its maximum turbo speed, but it's stable at
3.2GHz on default cooling. In comparison, I used to own an MSI GT63R with a
quad core i7(2630QM if I remember correctly) and that CPU would "throttle" by
regularly falling down to 400-600MHz(!!!) as a result of stretched thermals.
It was not "stable" at neither its base nor turbo speeds. That behaviour still
happens(in the mentioned Air, or an XPS 15 for instance) but there are
definitely laptops which don't do that at all.

~~~
semi-extrinsic
Ah, okay, then I'm using a different definition of throttling.

Intel will publish as you say a base speed of 1.8 GHz, then a single core
Turbo speed of 4.6 GHz and also an all-core Turbo speed of 4.2 GHz (numbers
made up, but something like this). If sufficient cooling is available, the CPU
should be able to sustain the all-core Turbo number indefinitely. If it can't,
I call that throttling. It can be mild (if you go from 4.2 to 3.2) or severe
(if you go from 4.2 to 1.8). A colleague has the XPS 15 (well, the Precision
equivalent) and he's never seen it drop below base clock, the problem with it
is that base is something ridiculously low like 1.2 GHz. If a machine drops
below base freq. due to thermal issues, it has been designed ver wrongly.

Our workstations with water cooling run at maximum all-core Turbo freq. for
days on end. Those CPUs do exceed the specified TDP when doing so, which is
fine as long as the cooler can easily dissipate that heat. And you can get
water coolers that support 500W TDP, so no worries.

The only guarantee Intel makes is that the processor will stay within TDP when
running at the base clock. What's happening when your laptop goes briefly to
4.2 GHz is that it exceeds both the Intel-stated TDP and the cooling system
TDP. Then it throttles back to 3.2 GHz, which is a little below the cooling
system TDP but above the processor TDP. In a laptop like the XPS 15, the
cooling system TDP is only a little higher than Intel-stated TDP.

The momentary thermal headroom between what the CPU puts out at max Turbo and
the cooling system TDP is provided by the heat capacity of the metal in the
heatsink/heatpipe.

------
fortran77
This makes sense. Macs don't support their hardware. Researchers and
scientists who need CUDA get platforms with the power and capability to
support them.

------
amelius
I'm using CUDA under Ubuntu, and have noticed that the CUDA library uninstalls
itself every so often. Has anyone else experienced this?

~~~
ktm5j
You probably installed a kernel update and the nvidia kernel module didn't
recompile itself. You can avoid having to reinstall the whole driver package
by just running "dkms autoinstall" and then "modprobe nvidia"

You may first need to unload any loaded nvidia modules (built for an older
kernel).. So some combination of "rmmod nvidia_modeset" "rmmod nvidia_uvm"
"rmmod nvidia_drm" "rmmod nvidia" and then run dkms

I run a ~1000 node server room for a computer science graduate program at a
university.. keeping these drivers built and loaded properly has been a
nightmare! Nvidia really needs to get things worked out if they want to keep
pushing the GPGPU stuff

~~~
mroche
What distro are you running in your labs? At my university’s cluster running
with RHEL 6 (same applies to RHEL 7, hopefully they managed the upgrade over
the summer) all that’s needed is installing dkms, then the CUDA repo from
NVIDIA, which includes the driver and CUDA packages. Any kernel update will
rebuild the kmod on reboot. I’m not 100% certain if that repo is Tesla cards
only (which is what we were) but ELRepo also has the generic driver and
associated bits (same as negativo, but those are very granular). DKMS is
really the only piece that’s necessary to keep the system running (other than
keeping an eye on which kernel version the kmods were based on if using the
non-NVIDIA repo). DKMS also works just fine with the NVIDIA provides
installer, just make sure you have the libglvnd bits installed before you
install the driver.

------
Rebelgecko
I guess that means we won't be getting a new Webdriver for their graphics
cards either :/

------
charlescearl
Has anyone experimented with ClojureCL [1]? It claims to run on MacOS.

[1]
[https://clojurecl.uncomplicate.org/articles/getting_started....](https://clojurecl.uncomplicate.org/articles/getting_started.html)

------
naveen99
I couldn't find any documentation on libcu++ i guess i'll have to download the
new sdk, and see if there are samples or look at the headers.

------
netheril96
So nvcc is completely based on clang now?

~~~
Athas
It has been for a long time. Only the very earliest versions of CUDA had an
nvcc based on Open64.

------
mrpippy
Makes sense, given that the underlying drivers only support macOS 10.13 (which
is likely considered out-of-support by Apple now)

~~~
trevyn
10.13 support ends September 2020.

~~~
mrpippy
True, it does look like Apple provides support for the current and last two
releases. 10.12 Sierra got its last (ever) security update at the end of
September.

------
choonway
mac users can always use AMD's openCL offerings...

~~~
StuffedParrot
I was under the impression OpenCL was deprecated for Mac OS.

~~~
mrpippy
Yep, deprecated in 10.14 in favor of Metal. I expect it to be like OpenGL,
where the existing functionality will stay around in maintenance mode for
years to come but never improved.

[https://developer.apple.com/library/archive/documentation/Pe...](https://developer.apple.com/library/archive/documentation/Performance/Conceptual/OpenCL_MacProgGuide/Introduction/Introduction.html)

------
dang
Submitted title was "Nvidia drops support for CUDA on macOS". We changed that
for a while to "CUDA 10.2 is the last release to support macOS", which is
language from the article itself. Since then someone emailed and asked why the
title was like that in light of the discussion at
[https://news.ycombinator.com/item?id=21617016](https://news.ycombinator.com/item?id=21617016),
so I've reverted to the article's title.

Edit: If the article were more a burying the lede kind of thing, as sometimes
happens with corporate press releases, then the original title would be
misleading and it would arguably be right to change it. But that seems
unlikely here?

Edit: I suppose we could switch the URL to an article like
[https://gizmodo.com/apple-and-nvidia-are-
over-1840015246](https://gizmodo.com/apple-and-nvidia-are-over-1840015246) if
this really is the only story here.

~~~
andybak
Any title that gives us a clue why the story is worthy of note. At the moment
it's frustrating as you have to click through to find out if you want to click
through.

(title at the time of my comment was "CUDA Toolkit Release Notes")

~~~
pilooch
As an ML + open source developer for over 10y, MacOS support for deep learning
is already long gone, Linux is the prime AI/ML OS. However, Apple and NVidia
parting away is a good omen for GPU competition I believe. Whatever Apple hw
comes up with, if usable outside MacOS software stack, it'd be an interesting
alternative.

~~~
navaati
> if usable outside MacOS software stack

Except, of course, according to Apple’s history regarding the matter, it
won’t.

~~~
iguy
Unless the swift-for-tensorflow effort cross-fertilises something interesting,
I suppose? If you were asked to guess the most likely path by which AMD cards
become widely useful, perhaps this would be as good a bet as any.

~~~
vkaku
Someone will need to get ROCm on MacOS, or something like that.

God, I really hope AMD goes out of the deal with Apple as well. I'd rather
people abandon macOS early than have to put up with Apple imposed
implementations like Metal, HLS and Webkit.

At the end of the day, Apple should realize that having money alone does not
make you , by any means, a popular company. It's the little things that make
people sign up for Apple.

