0
  1. I have a linux box wired up as my CUDA machine -- it has 3 GPU cards in it.
  2. I do all my development on an OSX laptop.

How should I set up my development cycle where I develop on my laptop and deploy to the LINUX box?

My IDE of choice is eclipse and as a backup I use vi.

Thanks.

user1172468
  • 5,306
  • 6
  • 35
  • 62
  • Does your mac have an nvidia card? I'm guessing not. – Craig Wright Nov 12 '12 at 17:49
  • I does I think however ... I'd like to use my Linux rig to run the code. – user1172468 Nov 12 '12 at 17:51
  • 1
    I am just starting to do some CUDA development on Mountain Lion. I have installed the CUDA toolkit and run some of the demos. If you can get this far and can build a binary on OS X, you should then be able to take the same source code over to Linux, recompile and run. But unless you can build the demos on OS X, I think you have little hope. Once you have built the demos you should be able to use that as a jumping off point to build your own code. – Craig Wright Nov 12 '12 at 18:14

1 Answers1

2

If your Mac does indeed support CUDA, then you should be able to install CUDA on it and do most of your development work locally. You could use a version control system like Git or Mercurial to push your code to the Linux box for all your testing (in case you don't want to run CUDA locally), but that will make it slow to test small code changes because you will have to commit and push all changes before they will be available on the Linux box.

Personally, I prefer to develop all of my code directly on the target machine, whenever possible. I open up a few SSH sessions and write all the code with Vim. This allows me to run full tests with very little turn-around time. The catch is that you must always have a good network connection to your test box, or else development will be a royal pain.

So, in summary, you have three options.

  1. Write code on Mac, run all tests on Linux. Use Git or something to push changes. Testing small code changes will be a huge hassle.
  2. Write code on Mac, run basic tests locally (you'll have to install CUDA) and occasionally test against Linux. Testing will usually be efficient, but you may need to redo performance optimization for both platforms.
  3. Write code on Linux, by opening SSH sessions from your Mac and writing in Vim or whatever you fancy. You need a consistent, good network connection with the Linux box. If you have a fantastic connection, you could conceivably run Eclipse from Linux using X window sharing.
talonmies
  • 70,661
  • 34
  • 192
  • 269
Brendan Wood
  • 6,220
  • 3
  • 30
  • 28
  • Option 3 is the way I work 99% of the time, and nxserver makes it possible to run a full X11 connection over even a modest broadband or WAN connection – talonmies Nov 13 '12 at 13:34
  • Thanks guys, I'm voting to have the Q re-opened not sure if you think it should be @talonmies – user1172468 Nov 13 '12 at 16:16
  • If you have a good local network connection between your mac and your linux test box, you may be able to do ssh -X or ssh -Y and run an X-forwarded session. Then you can run Nsight Eclipse edition on the remote box from your mac. – Robert Crovella Nov 13 '12 at 17:47