|
From: | Scott Christley |
Subject: | Re: [swarm-hackers] A new (non-framework-related) problem... |
Date: | Fri, 13 Nov 2009 11:12:22 -0800 |
Hey Nima, I've been working with both CUDA and recently OpenCL, but I would not say the work is "integrated" with Swarm. Most of my GPU programs are doing continuous deterministic models (differential equations) not stochastic agent-based models. You need to think very carefully about how to take advantage of the fine-grained data-parallelism of GPUs with your model, because the GPU programming model imposes many limitations. I do have one stochastic agent-based model which I tried with OpenCL, and I do get a decent speedup with the GPU, but for this model, utilizing the 8 CPU cores in parallel on my Mac was actually faster. One nice thing about OpenCL is that the exact same source code can be used either on GPU or CPU just by changing a flag. I'm not using Swarm though. I've thought about changing all my CUDA programs over to OpenCL, but I've heard that OpenCL can be slower because you have less control to do fine-tuning optimizations that you can with CUDA. I haven't had a chance to directly compare. Though I have discovered that a GPU program using different memory access patterns can easily have a 2-3x speed difference. cheers Scott On Nov 13, 2009, at 8:13 AM, Nima Talebi wrote: All done! Thanks Scott - I found and fixed all the little problems. |
[Prev in Thread] | Current Thread | [Next in Thread] |