Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MacOS support #262

Closed
dmayle opened this issue Nov 25, 2017 · 87 comments
Closed

MacOS support #262

dmayle opened this issue Nov 25, 2017 · 87 comments

Comments

@dmayle
Copy link

dmayle commented Nov 25, 2017

Is there a timeline for RocM on MacOS?

@smithakihide
Copy link

I think there is no.
ROCm is based on customized linux kernel. so there is no compatibility with Unix kernel.

@gstoner
Copy link

gstoner commented Nov 27, 2017

Right now we need a way to port the ROCm tools to the Mac, which means exposed driver API and also LLVM IR interface, AIR could be the path to get our compiler to work, but better would be the support of our standardized loader interface so we could also support Assembly. This would be dependent on Apple tools team for the latter.

@oscarbg
Copy link

oscarbg commented Nov 30, 2017

+1

Would be nice to expose ROCM i.e. improved compute on Macos right now OpenCL 1.2 for too many years while Nvidia supports CUDA..
seems Nvidia supports CUDA (even lastests features like "unified mem").. it just keeps releasing new CUDA releases and seems it works without Apple involvement.. couldn't AMD do the same with some ROCM.kext kernel driver extension similar to CUDA.kext?
just asking, no pressure..

@hery
Copy link

hery commented Oct 12, 2018

Hola! Just double-checking things here. Is it possible at all to get ROCm working for a Docker container running on macOS? Or can the ROC kernel not work that way?

@lambdaupb
Copy link

@hery Docker on macOS is run in a virtual machine. Since the radeon GPUs used in macs are used by the main OS and Hypervisor.framework does not support PCIe passthrough, Docker probably does not change the situation.

@leedrake5
Copy link

Just wanted to leave a vote here for a Mac version. Thanks for your efforts to make AMD GPUs work for deep learning.

@OAKOAITE
Copy link

OAKOAITE commented Jan 4, 2019

I vote for this too! Mac devices should have more GPU support like Windows does.

@MatthewWaller
Copy link

Hello! I would like to throw in my request for a Mac version as well!

@leedrake5
Copy link

If you've come to this page looking for a Mac version, just keep commenting and leaving a vote. Don't know if it will change anything, but at least the developers will have a sense that demand is real. Though I also think Apple needs to step up and dedicate resources if they are going to stick with AMD.

@gentlesystems
Copy link

I've been watching this issue for a while. Now I'm wondering if there's anything we can do to help make this happen. The kernel code is more extensive than I would have expected.

@allenfrostline
Copy link

Still no progress? I thought it'd be an urgent issue and solved at least months ago...

@yash-s20
Copy link

yash-s20 commented Jan 7, 2019

Leaving a vote, it's a surprise it hasn't happened yet, considering we don't have a choice on the GPU on the Mac

@hery
Copy link

hery commented Jan 7, 2019

I ended up getting an Nvidia GPU. I feel like even if AMD makes decent GPU, the software stack is just so far behind.

@nehbit
Copy link

nehbit commented Jan 18, 2019

Yet another request for Mac OS. It doesn't have to be native, if you guys can get it to work in such a way that I can run it in a VirtualBox Linux VM, that would be just fine, too.

@mathmlai
Copy link

It is simply a sin not to make support on mac os.

@Arthur77Wang
Copy link

Please do something for mac os support. Don't think it's such a complex staff to cover UNIX as LINUX support finished.

@mgbvox
Copy link

mgbvox commented Feb 13, 2019

One more request for Mac OS Support. Please. How is this not a chief commercial concern?

@farleylai
Copy link

farleylai commented Feb 13, 2019

Apple is embracing AMD GPUs. The lack of support for macOS would be a pity. Two years are long enough for PyTorch to grow mature towards production. Though compilation from source is required for PyTorch to support nvidia GPUs on macOS, it's definitely working. So what's actually going on with ROCm? At least in the aspect of driver release, it should be easier for AMD GPUs compared with nvidia's.

@aleh-null
Copy link

Really surprised that it is like this. Plz do something, support Mac.

@bkozik
Copy link

bkozik commented Feb 23, 2019

+1 to macOS support, especially because Nvidia can't even work with Mojave.

@marcjones-io
Copy link

Hi 👋🏽 +1 over here on the MacOs support. Would be dreamy to accomplish all the tasks on one machine.

@plattenschieber
Copy link

Same here 👋

@iseanstevens
Copy link

Same here - I upgraded to a new MacBook pro with a vega56 as an eGPU and it's great but I'd love to be able to proudly exclaim how awesome it is by making some kick ass art-robots which currently are going to use an nVidia box.

@Degerz
Copy link

Degerz commented Mar 12, 2019

Why is this issue still even open ? It's in Apple's full responsibility to maintain their compute stack so the people in this issue need to contact Apple instead to get a meaningful response from them ...

For any of you guys that are interested in machine learning, why not ask for a single source C++ compute API like CUDA, HCC, SYCL from Apple because their Metal API is total junk ?

@gentlesystems
Copy link

The recent response from Degerz is unhelpful, and, in fact, highlights the disparity between the support from Nvidia and AMD. Nvidia’s Cuda has taken over the industry and driven much of this kind of work away from AMD products, even where good hardware and APIs are available from AMD and competitors. Nvidia continues to supply drivers for their video cards on Mac, as well as Cuda and OpenCL stacks, despite a lack of support and cooperation from Apple. Meanwhile, Apples supplies AMD drivers and puts AMD cards in all of their products, but drivers and support from AMD themselves is starkly missing.

I realize that this Issue is unlikely to be resolved with anything other than a "won't fix" because ROCm so depends so much on its custom linux kernel, and Mac support would require a new effort to integrate with Mac. However, Nvidia has already done this type of work and more. Nvidia products are the biggest reason this project will fail or succeed, as they continually drive the parallel compute industry. Apple is just a platform. Negativity toward them or their APIs isn't very productive.

@Degerz
Copy link

Degerz commented Mar 21, 2019

The recent response from Degerz is unhelpful, and, in fact, highlights the disparity between the support from Nvidia and AMD.

Nvidia products are the biggest reason this project will fail or succeed, as they continually drive the parallel compute industry. Apple is just a platform. Negativity toward them or their APIs isn't very productive.

No, what's unhelpful are posts like yours in being complacent on accepting mediocrity from Apple and you can kiss goodbye to CUDA support on macOS starting from macOS Mojave so it's high time that you along with the others start holding Apple responsible for their subpar compute stack!

It's exactly as you said, Apple are the ones who provide the drivers so they better damn well provide drivers adequate for machine learning or other high-end compute applications ...

Demanding that AMD support a platform that they have no control whatsoever is not at all productive in any form and all the work that Nvidia has tried to bypass the macOS kernel has already been dropped. The fundamental issue with Apple's Metal API is that it's NOT single source like CUDA or HIP but despite that design flaw AMD will gladly use Metal for some of their projects, however it'll never become a viable option for machine learning. It's amazing that you're quick to point out AMD's failings but will ignore Apple making the very same mistake twice already once with OpenCL and another with Metal both of which are designed as separate source ...

How do you expect the community to cope with a useless tool ?

@hmmmph
Copy link

hmmmph commented Apr 9, 2019

Contrary to the complete rubbish the previous commenter spewed, Apple nor the Metal API is to blame (in case you didn't know, OS X is opensource).

There are many other projects that were once exclusive to CUDA that support OpenCL/AMD GPU's on macOS now (eg. hashcat). The lack of a macOS compatible tensorflow-rocm is more likely simply not where the developer's priorities are atm. AMD has a portal and community exclusively dedicated to OS X, maybe put in a request over there perhaps — that's why it exists.

@ChristianLagares
Copy link

Yet another vote for a MacOS port. This would enable not only ML workloads to be accelerated, but also many other HPC-related workloads to at least compile natively on MacOS. Apple has recently shown its commit for Radeon with the introduction of the 5600M with HBM2. I do understand a significant amount of work would be required, but the payoff of enabling a large amount of workloads seems to outweigh the initial effort.

@Gerzer
Copy link

Gerzer commented Jun 16, 2020

Please do port ROCm to Metal on macOS! There's a huge demand for that.

@mk2016a
Copy link

mk2016a commented Jun 17, 2020

Forget it. No company would like to corperate with ATI. That is why they went bankrupt.

@Nevensky
Copy link

I wish to throw my ball in this game as well, please port the Rocm to MacOS / Metal.

@xyzus
Copy link

xyzus commented Jul 14, 2020

please do port RocM on MacOS

@anmolresourceone
Copy link

much needed

@greenstick
Copy link

Still dreaming about this by night and living the nightmare of no MacOS support by day.

@Filco306
Copy link

Would a reasonable workaround be to partition one's disk and install Ubuntu? Would that enable the use of one's graphic's card?

@gbrow004
Copy link

Would a reasonable workaround be to partition one's disk and install Ubuntu? Would that enable the use of one's graphic's card?

Yes, but installing Ubuntu on Macs that have the T2 security chip (2018 and later) can be troublesome. You can try my guide to start out:
https://gist.github.com/gbrow004/096f845c8fe8d03ef9009fbb87b781a4

@Filco306
Copy link

Thank you @gbrow004 , I will check it out!

@pkla
Copy link

pkla commented Nov 10, 2020

Leaving my vote. With AMD being the sole third party dedicated GPU option on MacOS, ROCm support seems like a no-brainer. Please make this happen!

@ugahugo
Copy link

ugahugo commented Nov 10, 2020

@gstoner,

Do you see this? Hundreds of people voted for make damn Windows / Mac OS X support, not for useless Linux. This is what should be done from the very beginning!

This is late 2020 and NOTHING happened. The Radeon team just releases the code for themselves, no one is interested in shitty Linux because no one uses it!

@egorgam
Copy link

egorgam commented Nov 18, 2020

How I understand a situation, it must be some kernel patches for use RoCM on linux (what is unreal wit proprietary Darwin kernel) but MacOS docker (and hypervisors) implementation can't passtrough PCI devices (as discrete GPU). So where is any possible way for AMD developers to resolve a problem?

@ChristianLagares
Copy link

And you are right, @egorgam . However, many other API's have successfully been ported to run atop Metal. For instance, MoltenGL provides OpenGL ES 2.0 over Metal. Metal already provides a low-latency, API that could be targeted. I'm fairly confident that a large portion of the ROCm Core could be ported to run over Metal which would provide a Native platform. Not to mention, AMD would incentivize developer investment.

I have to disagree with @ugahugo. AMD did the right move by bringing Linux into the play. For ROCm to succeed, they needed to appeal the HPC market, but their greatest mistake was to relinquish ROCm to being a niche development platform more or less exclusive to Linux. For instance, CUDA's greatest success comes from targeting every Nvidia GPU. AMD has a massive consumer and prosumer marker that they are not aggressively targeting by not porting ROCm. I do believe that even the development effort required for ROCm over Metal would render their codebase much more robust and mature enough to target newer platforms. They already have HIP. Why not add Metal as a backend? I have a Radeon Pro 5600M that I can only target through Metal (which is painful to target from C++ or Python) or OpenCL (relegated to 1.0). Apple recently published TensorFlow running on ML Compute. Why would AMD lose a marketing opportunity to bring ROCm over Metal which could potentially pave the way to ROCm over DirectCompute. This would enable fully portable AMD GPU compute shaders.

@egorgam
Copy link

egorgam commented Nov 20, 2020

@ChristianLagares wow! apple/tensorflow_macos#7 (comment) look like it works with radeon pro)

@ugahugo
Copy link

ugahugo commented Nov 22, 2020

I have to disagree with @ugahugo. AMD did the right move by bringing Linux into the play. For ROCm to succeed, they needed to appeal the HPC market, but their greatest mistake was to relinquish ROCm to being a niche development platform more or less exclusive to Linux.

I have to disagree

but their greatest mistake was to relinquish ROCm to being a niche development platform more or less exclusive to Linux

nuff said... //from authors of "the negative growth", masters of confusing speech and word manipulations

btw, @ChristianLagares, how many real products (that customers use) did you roll-out? Is it your bias among the Linux OS speaking or is it a real request? If yes, please refer to the products you work on, not the research you will share with how many? 10-50-100 other researchers...? Because we do a real product and we put this request YEARS AGO and argued everything a hundred times at least!

Since then, nothing happened for the №1 (Windows) and №2 (Mac OS X) popular operating systems, just f. NOTHING!

Now, with new Apple hardware product releases, with its own silicons embedded, what AMD Radeon software development unit wants to target? Its own employee office PCs? Linux-based, I believe

Vergüenza as is

@zhiyuanzhai
Copy link

@ugahugo It's clear that ROCm is aimed at High Performance Computing, which is mostly applied on clusters, servers, supercomputers or workstations, rather than a desktop or laptop PC. In those systems, Linux is undoubtedly the most popular OS, thus Linux has to be focused on. Actually the most recommended OS for CUDA from NVidia is also Ubuntu Linux. It makes sense if AMD would like to apply ROCm to Linux first.

Now we are just waiting to see if AMD has the plan to bring ROCm to other OSs like macOS or Windows after ROCm is mature enough on Linux.

@ugahugo
Copy link

ugahugo commented Nov 23, 2020

@zhiyuanzhai, Do you know that with modern GPU there is no such thing as a supercomputer market? That modern laptops, gaming laptops are far more advanced than you had in your mind by calling as "workstations"? I mean, the addressable market is huge, far bigger than the traditional supercomputer market you mentioned.

Watching the Radeon unit fan zone explaining why the Radeon unit shot themselves into the leg by targeting a tiny market looks really bad!

Why Nvidia did everything perfectly? Once and everything, and for everyone? What's the purpose of limiting something? What's the purpose of avoiding the C++ support in Windows and Mac OS X in 2020? I see the only reason is bad management and lack of skills in code development, and I am not sorry for that because it's not my problem but AMD's...

I really don't understand two things in this topic (and others in ROCm githubs):

  1. Why people are trying to protect AMD's when they obviously failed alone (I didn't help them to fail, nor did any of you)

  2. And why AMD continuously closing all the issues related to other OS support, providing 0 amount of information on plans and progress while the community just literally demanded this by hundreds of votes?! I just can't stand that behavior!

I see the behavior for such a huge corporation as AMD / Radeon just unacceptable. They chose to mute these problems, ignore the elephants in the room, they chose to avoid the problem.

Do they think this problem will be gone if they just ignore it? I don't have anything to say to them, Vergüenza as is

@mirh
Copy link

mirh commented Nov 23, 2020

What's the purpose of limiting something?

Idk, if you really cared about arbitrary limitations you shouldn't be using apple products I guess.
Anyway, just for the records, with the release of ROCclr I believe HIP/rocm should be very near (if it isn't already?) to running on Windows.

@ROCmSupport
Copy link

Currently we are not supporting MacOS with ROCm.
We will share an update once we have plans to support in future.
Thank you.

@leedrake5
Copy link

Hi all,

Good news, Apple has released a version of tensorflow that can use AMD GPUs. See it here.

@ugahugo
Copy link

ugahugo commented Jan 1, 2021

Hi all,

Good news, Apple has released a version of tensorflow that can use AMD GPUs. See it here.

What is the point to post this here? It's not related to the ROCm. More of that, having the TensorFlow library compiled for Mac OS X isn't the big deal. Also, the GPU acceleration for the case of M1 will be just really low comparing with PC

@martinezhermes
Copy link

Hi all,
Good news, Apple has released a version of tensorflow that can use AMD GPUs. See it here.

What is the point to post this here? It's not related to the ROCm. More of that, having the TensorFlow library compiled for Mac OS X isn't the big deal. Also, the GPU acceleration for the case of M1 will be just really low comparing with PC

I believe people that follow this issue here are looking for ways for using their AMD GPU for machine learning, what @leedrake5 has replied comes as the only solution so far for this issue! yes, tensorflow_macos is not related to ROCm at all but it is in fact related to AMD GPU cards in Mac computers. I’ve been testing it for the past 3 weeks and the performance is getting there, it is almost as fast as my ROCm setup using linux (with the same Mac) for both training and inference.

I also believe ROCm on macOS is never gonna happen. I suggest people to follow the tensorflow development and post issues over there, hopefully pytorch and other libs will follow through, otherwise using Xcode Swift and PythonKit is also an option for machine learning projects with Mac computers that have AMD dedicated GPUs.

@greenstick
Copy link

Hi all,
Good news, Apple has released a version of tensorflow that can use AMD GPUs. See it here.

What is the point to post this here? It's not related to the ROCm. More of that, having the TensorFlow library compiled for Mac OS X isn't the big deal. Also, the GPU acceleration for the case of M1 will be just really low comparing with PC

I believe people that follow this issue here are looking for ways for using their AMD GPU for machine learning, what @leedrake5 has replied comes as the only solution so far for this issue! yes, tensorflow_macos is not related to ROCm at all but it is in fact related to AMD GPU cards in Mac computers. I’ve been testing it for the past 3 weeks and the performance is getting there, it is almost as fast as my ROCm setup using linux (with the same Mac) for both training and inference.

I also believe ROCm on macOS is never gonna happen. I suggest people to follow the tensorflow development and post issues over there, hopefully pytorch and other libs will follow through, otherwise using Xcode Swift and PythonKit is also an option for machine learning projects with Mac computers that have AMD dedicated GPUs.

Sure, a lot (maybe even most) people are hoping for ROCm support on Mac so that they can use ML libraries, and in that respect the info provided by @leedrake5 is helpful. Let's be real, though – tensorflow is one library among one use case. Full ROCm support would allow developers to create their own libraries/applications that leverage their AMD GPU on their Mac – that's what I was after. I agree with you, ROCm for Mac will probably never happen, especially now that Apple's push towards SoCs with integrated GPUs on their laptop and desktop offerings (M1) is finally being rolled out in production, but your belief that people are following this issue because they're "looking for ways for using their AMD GPU for machine learning" is reductive. And even if that were the case, the idea that we should be satisfied now that tensorflow supports it (e.g. what about pytorch?) is wrongheaded. This is (...was sigh) bigger than a single library or use case; this was about supporting a platform.

@zhiyuanzhai
Copy link

In my perspective, Apple is unlikely to accept ROCm on Mac, for the same reason why Apple refused to support CUDA at the very beginning. It's not Apple's manner to rely on other manufacturers on such an important field as GPGPU.

It's becoming more and more clear that Apple is trying to push forward their own platform on GPU rendering and parallel computing, i.e., the Metal API.

@Crear12
Copy link

Crear12 commented Dec 25, 2021

With the promotion of Silicon platform, I think that this wish can never be realized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests