As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have some knowledge of C/C++ programming and want to learn CUDA. I'm also on a mac. So what is the best way to learn CUDA?
Download the dev kit, take one of the examples, and modify it. Then write something from scatch.
you can consult these resources
CUDA SDK Code Samples
CUDA by Example: An Introduction to General-Purpose GPU Programming
nvidia
Think up a numerical problem and try to implement it. Make sure that you have an NVIDIA card first. :) Download the SDK from NVIDIA web site. Read the "CUDA programming guide", it's less than 200 pages long and sufficiently well written that you should be able to do it in one pass. Pick a sufficiently simple sample and start modifying/rewriting it.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I would like to state a theoretical question about the compute capabilities of the Nvidia cards.
From my relatively short experience I have noticed that cards with CC 2.0 can perform better than the 1.3 ones. That could really depend on the nature of a kernel and the occupancy each SM will use.
But since everything has its advantages and disadvantages, what are the disadvantages of a 2.0 card and the advantages of a 1.3?
How can a 1.3 card can perform a certain kernel faster than a 2.0 and what characteristics should that kernel have.
Any personal experience is well accepted and if there is a complete interpretation through the architecture of each card even better.
Regards
In general, the higher the compute capability, the more capabilities the GPU is capable of.
Check out Wikipedia
Of course, if you write bad code for a GPU with a CC of 3.5 and great code or GPU with a CC of 2.0, the 2.0 GPU can outperform the 3.5 GPU.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Note: Sorry this is not exactly a programming question; please migrate it if there is a more appropriate stackexchange site (I didn't see any; it's not theoretical CS).
I'm looking for less CUDA-specific terms for certain GPU-programming related concepts. OpenCL is somewhat helpful. I'm looking for "parallelism-theory" / research paper words more than practical keywords for a new programming language. Please feel free to post additions and corrections.
"warp"
I usually equate this to SIMD-width.
"block"
alternatives
"group" (OpenCL).
"thread-block" -- want something shorter
"tile"
"syncthreads"
It seems "barrier" is the more general word, used in multicore CPU programming I think, and OpenCL. Is there anything else?
"shared memory"
alternatives
"local memory" (OpenCL).
"tile/block cache"?
"kernel"
alternatives
"CTA / Cooperative Thread Array" (OpenCL). way too much of a mouthful, dunno what it means.
"GPU program" -- would be difficult to distinguish between kernel invocations.
"device computation"?
There aren't really exact enough technology neutral terms for detailed specifics of CUDA and openCL and if you used more generic terms such as "shared memory" or "cache" you wouldn't be making clear precisely what you meant
I think you might have to stick to the terms from one technology (perhaps putting the other in brackets) or use "his/her" type language and add extra explanation if a term doens't have a corresponding use in the other
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
So I've been reading up on the D programming language for a while, and it really seems like a cool new language to learn. My impression is that it combines the power of C with intuitive syntax and garbage collection. What more could I want? Ok...so these accounts I've been reading are probably a bit idealized.
However, I just downloaded a D compiler and am looking to learn. I feel like a great way to learn might be to just get hands on in a project. I have no idea where to start though. Where could I find some easy, small D projects (that might actually contribute something to the world)? Or if not getting hands on in something, how would you recommend learning?
what about a quick tutorial,
please check the following link:
http://www.dprogramming.com/tutorial.php
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am looking for an interactive exploratory tool to embed in a commercial application.
I am looking for a commercial-friendly licensed open source alternative to the wonderful Tableau system
Take a look at Pentaho. It's built from open source parts so you should be able to reuse parts of that. There's also R, though that is really more of a statistical programming framework than an ready-to-use exploratory tool.
If you're looking for something that's as easy to use as Tableau though, I'm afraid you won't find any open source solutions.
You can build interactive exploratory visualizations in the browser with D3.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am aware of J & K; but neither are open source.
I'm also aware of A+, but that seems outdated.
Is there any decent open source implementation of APL?
If so, where? If not, why?
I'm experimenting with an APL interpreter in JavaScript (http://github.com/ngn/apl), runs on node.js or in a browser. It can do basic stuff, like compute a generation of Conway's game of life, but it's early to tell if it can turn out into a decent implementation.
You might try NARS2000 (at http://www.nars2000.org/). I've not tried it myself so can't comment on how it compares to the commercial interpreters.
Kona is an open-source ascii based APL, inspired from K.
J7 was recently released under the GPL.
Have you tried OpenAPL?
It is open source.
There's J.
I have just discovered a Javascript implementation of APL here:
https://github.com/ngn/apl