Advice on Hardware

Hello

I own a MacBook Pro and an iMac none of which have a PCI Express slot as far ask know. Mac mini doesn’t have one either.

For the long term I want something –

  1. Must run Mac OS
  2. Must be able to accompdate as many GPUs as possible
  3. Must be cheap

I will start with one GPU and add more as I go.

What are my options??

Saleem

Unfortunately requirement 1 and requirements 2&3 are pretty much contradictory. The current Mac Pro only has 2 PCI-e x16 slots, and there are only a couple of compatible GT200 based cards with EFI support (unless you try flashing a PC card with an EFI bios or do some other boot loader tricks). Further to that the current Mac Pro only has about 300W available for PCI-e cards, which just about rules out a pair of GT200s. More power requires hacking or upgrading power supplies. There is rumoured to be a Mac Pro refresh due early next year with 6 core Nehalem processors, so the motherboard and power supply situation might change.

Also, there is presently no 64 bit version of CUDA for Mac OS X, so you are limited to running the 32 bit kernel with 4Gb address space, which can be very restrictive depending on your application. That might also get fixed in CUDA 3.0, which should be released soon.

If your need is hardware today, and are developing your own app rather than using someone else’s and 2 is the most important requirement, then seriously consider 64 bit Linux (as unpalatable as it might sound), where you can easily drive 3 or 4 GPUs on stock PC hardware with 8 or 16Gb of ram at a fraction of the price.

Some questions —

  1. What is EFI??

  2. Can a MacPro handle two Tesla C1060 cards??

  3. I have a new 15" MacBook Pro – I am not sure if it has PCI Express but I suspect probably not. Is there a way to interface just one C1060 card??

  4. Is it possible to get the same version of Linux as in Mac OS and install that on a PC – I don’t care much for the GUI

  5. If not other code I have developed in C on Mac OS compile as is or better yet will I be able to use the same binaries??

  6. If I go the stock PC route with Linux what hardware and what Linux variant are recommended

Saleem

  1. EFI is the Intel developed firmware system that Apple uses in their hardware in place of a standard PC BIOS (or the older Openfirmware they used to use on Power PC based designs). Standard PC VGA cards can’t work in an Intel Mac without modification because they don’t contain the necessary EFI firmware to boot.

  2. A Mac Pro can’t handle any Tesla C1060 cards, because there is no EFI version of any Tesla card currently available. Further to that, I don’t think a Mac Pro can take 2 double width PCI-e cards. Only one of the slots is double width, the second is only single width.

  3. Not in any meaningful way (1) because of the EFI problem and (2) because what express card->PCI-e docking solutions exist only support 1x lanes and can’t provide enough power to run such a large card.

  4. Sorry I don’t understand the question.

  5. There is no binary compatibility between OS X and Linux, but C source (other than GUI stuff built on one of Apples toolkits) will compile fine.

  6. That is a how long is a piece of string question really. For single cpu, multi-gpu setups, an AMD 790FX or Intel X58 chipset based motherboard is probably the best choice. Most boards based on those chipsets support at least 2 full 16 lane slots, or 3 or even 4 slots with 8 lanes. Tailor case, power supply and memory to suit. Ubuntu 9.04 or Redhat/Centos 5.3 are probably the widest deployed Linux versions for CUDA workstations.

Hello

Thanks for your help —

Looks like I will have to go for stock PC hardware and Linux. Two. Questions –

1.Approximately what is the difference in cost if I buy a ready made PC with the right specs vs assemble one myself.

2.Can you recommend any assembled systems.

Cost is important to me. I want to add GPU cards at my own pace as opposed to buy all 4 and install them.

Saleem

Sorry, I really don’t have any feel on relative cost differences between pre-assembled systems and parts. It tends to be very market and local currency specific. You would be better to find a PC enthusiasts site based or populated by people who live wherever you do to get that sort of information.

So I have a 2008 Mac Pro loaded with two GTX 285 cards now. You can easily load a 285 or Quadro and one Tesla, the latter using a post-boot injector (netkas.org).

You need to have one official Mac card with the EFI64, and then the other card can be either Mac or PC - I have done this with PC 260, 285 and others have done it with 295.

If you get some external power in the only limit is finding room for two of the bigger cards, at least in a Mac Pro.

If you want to go to four: One route would be to build a hackintosh to run OS X, and then there would really be no obstruction to having maybe four GPUs - I am thinking of doing this while I wait to see what the 2010 Pro looks like.

I suggest you read the threads on forums.macrumors.com and hackintosh.org. If you do not want to faff with injectors just get two Mac 285s and a cheap ATX PSU (some people route power from optical bay).

There are some useful comments on Mac Pro GPU work here:

[url=“Department of Mathematics | King’s College London”]Department of Mathematics | King’s College London

I took the exact other path, using an inexpensive Quad-core PC hardware with Mac OS X, and installing GeForce 8800 GTS and Radeon 4670 for development of CUDA (GeForce only) and OpenCL (CPU; GEforce; Radeon) that was the most economical choice, and probably the less troublesome finally, being able to run Windows 7 with stock drivers External Image