modulusshift wrote:2. What features do graphics cards actually have? I read a lot of marketing mumbo-jumbo, and some pretty cool stuff about OpenCL and the like, but not terribly much that I've managed to understand.
3. What computing languages could I expect to be able to compile/run on a GPU? I could think of some highly parallel stuff I could come up with on say, Python. Is there a runtime compiler for Python that's GPU-based? Also, using my GPU for compute tasks, would that slow down Windows substantially?
5. And lastly, I don't have much of a library of computer games. So, what have you guys been enjoying recently? Indie or published games both welcome.
2/3) Nvidia has better Linux drivers and CUDA. AMD has Eyefinity and workable Linux drivers. That's all I've got for features.
I was thinking about this last night. I just bought a new ThinkPad with the Optimus feature, and I was wondering what I could do with the Nvidia card since I'm not really going to stress the graphics subsystem.
Nvidia is the only vendor that supports both OpenCL and CUDA, since CUDA is a Nvidia specific technology. It's easy enough to swap a video card out of a desktop, so I would say get a Nvidia card if you want to mess around with both of them.
OpenCL is more cross platform, and as such, it's more abstracted then CUDA. It's like OpenGL except for computations. It can run on a regular CPU, x86 or ARM, or on a GPU from either AMD or Nvidia, but I'm not sure how portable it is. Each hardware vendor has it's own stack, and I'm not sure how that effects things. As far as languages goes, you'll need to use one that's supported by GCC 4.1+, MinGW 4.4+ (GCC for Windows), Visual Studio 2008-2010 Pro, or ICC 11.x, per the AMD documentation.
CUDA is more specific then OpenCL. It's for Nvidia GPUs, which could make it more portable since there is one toolkit from one vendor, and since it is more focused, it has low level and high level APIs. It's been around longer, so there is more support for it. Wikipedia lists Python, Lua, Ruby, Java, Perl, Fortran, Haskell, MATLAB, IDL, and Mathematica, in addition to C/C++, as programming languages that can be used with CUDA.
AMD: Getting Started with OpenCLhttp://developer.amd.com/zones/openclzo ... arted.aspx
AMD APP SDK: System Requirements & Driver Compatibility http://developer.amd.com/sdks/AMDAPPSDK ... ility.aspx
Nvidia: GPU Computing Documentationhttp://developer.nvidia.com/nvidia-gpu- ... umentation
5) KDE has a really nice version of Mahjong, and I'm still trying to consistently win at Hearts on Windows.
I'm an enterprise geek, and I don't really have time to game. The last game to tempt me was Forza Motorsports 4.