5 ms·
Can anyone shed some light into why specifically AI developers prefer using Linux over MacOS? I realize the tradeoffs and preferences between Mac and Linux, but
by jamestanderson 7y ago
Can anyone shed some light into why specifically AI developers prefer using Linux over MacOS? I realize the tradeoffs and preferences between Mac and Linux, but this article calls out AI devs specifically, and I wasn't sure the reason for that.
- larrik 7y agoNot sure, but maybe the ability to use whatever graphics card you want?
- jamestanderson 7y agoThat makes a lot of sense. Thank you!
- zihotki 7y agoHardware drivers is one of major reasons, AFAIK.
- freehunter 7y agoIt may have been just thrown out as a buzzword, but modern AI requires specialized and expensive hardware (GPUs) that other servers don’t need, and Macs aren’t known for their broad GPU selection or support. Many high-end Nvidia GPUs don’t have drivers for MacOS. In the context it was written it sounds like “this other shadow IT usage can be under the table because it’s deemed unimportant to the business but now that our business is all-in on AI we can use that momentum to get better servers”.
- crowbahr 7y agoNvidia's cuda is, as far as I know, still heads and shoulders above anything offered by AMD, and yet Mac pros only come with AMD gpus which are soldered to the boards.
- lousken 7y agoMacs aren't really designed for constant heavy load, they tent to thermal throttle.
- toby 7y agoCan you explain this further? I've noticed that compiling a large project on a Mac is significantly slower than on a similarly-spec'ed Linux machine.
- frabert 7y agoThis video by Linus Tech Tips explains it a bit further: https://youtu.be/947op8yKJRY https://youtu.be/947op8yKJRY
- mrweasel 7y agoSpecifically newer MacBook Pros are having issues driving multiple (or in my case even a single external display). When running two or three external displays, both me an my colleagues are experiences our laptops running they fans rater frequently or in some case not actually spinning up the fans and then crash at random intervals. In our case I convinced that it's a design flaw in the MacBook Pro.
- bryanlarsen 7y agoAlso for the same reason that Linux is common in webdev: there are advantages using the same OS for both dev and production.
- xur17 7y agoIf you develop anything on docker or kubernetes, linux is quite a bit better since you can run things natively instead of via Docker for mac's vm.
- linguae 7y agoCUDA. I do research in machine learning, and I have a work-issued MacBook Pro, but I also have access to a server running Linux with multiple NVIDIA GPUs for development purposes. There are many activities that I use my MacBook Pro for, but when it comes to machine learning tasks, I use the server for that.
- spamizbad 7y agoI've been a developer on all three major platforms (Windows, Mac, and Linux). Just my opinion, but I feel these days Linux has the best "developer ergonomics" for backend and systems development. Granted, I think if you're building native mobile apps and web front-ends, your life is easier on a Mac just by virtue of having access to the same tooling as your design team. But for everything else, it just feels easier to get stuff done on Linux. Complicating matters is the declining quality of Apple Macbook Pros and their propensity to thermally throttle. They are quite beautiful though! Still, as a 2018 15" MBP user at work, I often regret not getting a T or P-series Lenovo which carry with them their own flaws.
- sampo 7y ago> I often regret not getting a T or P-series Lenovo There is also the X1 Extreme.
- xur17 7y agoI currently have the regular X1, but am seriously considering the X1 Extreme as my next laptop. 32gb of ram in a dev machine would be amazing.
- noir_lord 7y agoMy T470P from 2017 has 32GB of RAM (Came with 1x16 and I put the other 16 in myself) and it's great. Can in a pinch do everything on the laptop I can do on my dev desktops.
- Ologn 7y agoMy focus is building native mobile apps, primarily Android, but I have built iOS apps as well. With iOS, Apple has it so that you more or less need a MacOS running XCode. While the Mac I use has Android Studio on it, I find myself switching back to Ubuntu Linux to program Android. It is just an easier workflow for me.
- sremani 7y agoLinux enjoys first-class citizen treatment w.r.t AI\ML tools as well as the ability to add an NVIDIA GPU to your hardware is way more straight forward than an apple device.
- opportune 7y agoI guess probably some AI developers are training using a GPU physically in their machine. TBH I don't know if that's the right way to do it though. If you're developing locally in some kind of notebook environment and then deploying to the cloud/some local servers/etc. (which I think you should do) then I don't think it would matter much.
- robbrit 7y agoThere's an in-between: develop locally in a non-notebook environment, and deploy that software in a container. Notebooks are great for fiddling around with new ideas, but when building production AI systems they tend to fall over. What we'll often do is use a small dataset locally on our desktop to confirm that something works, and then ship it to a multi-GPU setup in our cluster to train things for real-world uses. It's much easier to do this when you're developing on the same OS that is running in the cluster, hence Ubuntu desktop.
- opportune 7y agoThat also works, I guess I just mean that I don't think people people should be relying on training on local GPUs. Since yeah, a lot of use cases require multi-GPU training running on the order of days, seems very amateurish to really need a beefy local GPU to get your work done. I guess I rarely run into ubuntu vs macos compatibility issues while I do notice the lack of QOL features on ubuntu. I would rather stay on macos
- dharma1 7y agoAll the tooling is linux, some of it has mac ports but not nearly always and things don't always work. Another major factor is CUDA - all the frameworks use CUDA and Nvidia cards, which MacOS doesn't support. OpenCL is way slower and undersupported. AMD has been working on ROCm but it doesn't feel like it's going anywhere fast enough. Everyone uses CUDA.