NVIDIA CUDA 4.0
Posted: Sun Aug 14, 2011 9:50 pm
nwhitehe, thanks for your reply and explanations!
Regarding the floating points vs. integers in benchmarking -- sure, the points you're making are valid and I don't dispute them. The thing is, however, that all that makes floating points harder also makes it more interesting -- esp. double precision seems to have been a challenge for GPUs so far, but that's precisely what's most useful for quant finance. Hence, from the practical point of view, it'd be interesting to see the comparison
In my experience, when using C for CUDA a lot of low-level detail mattered, like coalesced memory access and choosing whether to use global, local, shared, constant or texture memory (it had quite a very significant impact on performance for my PDE solver application) -- have those issues become easier to manage / more automatized with CUDA 4.0?
P.S. really like your website, nice exposition!
---
MadMax, some curiosities regarding the performance of std::accumulate are also related to it using operator+ (not operator+=) and issues with trying to optimize it with move semantics (from a compiler point of view) keeping standard-compliance; discussion here: http://gcc.gnu.org/ml/libstdc++/2011-01/msg00015.html
I solely mention those as "curiosities", since I wouldn't expect them to have an impact on "small" data structures (like a built-in double) (and the example above considers std::string), but it might still be of interest.
Regarding the floating points vs. integers in benchmarking -- sure, the points you're making are valid and I don't dispute them. The thing is, however, that all that makes floating points harder also makes it more interesting -- esp. double precision seems to have been a challenge for GPUs so far, but that's precisely what's most useful for quant finance. Hence, from the practical point of view, it'd be interesting to see the comparison
In my experience, when using C for CUDA a lot of low-level detail mattered, like coalesced memory access and choosing whether to use global, local, shared, constant or texture memory (it had quite a very significant impact on performance for my PDE solver application) -- have those issues become easier to manage / more automatized with CUDA 4.0?
P.S. really like your website, nice exposition!
---
MadMax, some curiosities regarding the performance of std::accumulate are also related to it using operator+ (not operator+=) and issues with trying to optimize it with move semantics (from a compiler point of view) keeping standard-compliance; discussion here: http://gcc.gnu.org/ml/libstdc++/2011-01/msg00015.html
I solely mention those as "curiosities", since I wouldn't expect them to have an impact on "small" data structures (like a built-in double) (and the example above considers std::string), but it might still be of interest.