Introduction to Parallel Programming

preview_player
Показать описание
Sign up for the class here:

Learn the fundamentals of parallel computing with the GPU and the CUDA programming environment! In this class, you'll learn about parallel programming by coding a series of image processing algorithms, such as you might find in Photoshop or Instagram. You'll be able to program and run your assignments on high-end GPUs, even if you don't own one yourself.
Рекомендации по теме
Комментарии
Автор

"How long will the course be available?
This class will always be available"
Oof.

beenviolent
Автор

Yes this makes a lot more sense because I've programmed using both CUDA and OpenCL and CUDA isn't much easier to program! I guess if you take into consideration better tools integration with Visual Studio, debugging support, etc it might be a bit easier but not by much. They are both still pretty low level and require a lot of boilerplate code to get up and running. Coursera course is also using Cluster GPU Instances for Amazon EC2 for student programming although OpenCL is also supported.


daviangel
Автор

This is my first Udacity course too, so you might just browse some other courses to see generally how they work. I believe generally they have lectures with interspersed quizzes and projects or hw assignments (we have projects). As for background, "solid experience with the C programming language and basic knowledge of data structures and algorithms" is a good summary, I think.

johnowens
Автор

One of my students noted today that one of the benefits of OpenCL is particularly excellent integration with Visual Studio. Gotta say, though, that when I look at an OpenCL "hello world" (search on, say, OpenCL Hello World Example and look at the Apple example), it seems considerably more complicated than a CUDA hello world.

johnowens
Автор

We've chosen to put our energy/class time into CUDA. I agree there are a significant number of interesting other languages/environments. If I picked another one, it'd probably be OpenACC. I am honestly a little wary of teaching something that would be both single-vendor AND single-platform, although C++ AMP might grow away from either of those in the future, which would make it more interesting for teaching purposes. (It'd be near-impossible to teach C++ AMP in the cloud, for instance.)

johnowens
Автор

Thank you for taking time to reply. We can't wait for this class. It's going to be awesome.

MrShebaw
Автор

Suggestion: briefly go over C++ AMP as well. It's beyond simple, especially if your students catch onto CUDA.

Tannzrz
Автор

Cool Seymour Cray quote! never heard that one before but great analogy

daviangel
Автор

So I discussed this a bit on the reddit page for this course (go search for "cs344" on reddit)—I'll be happy to discuss this in more depth there. Briefly, though: CUDA is simpler and has a more developed ecosystem. Good news, though, is that if you know one of {CUDA, OpenCL}, it's quite easy to pick up the other, because the programming models are so similar.

johnowens
Автор

You definitely need to have a good grasp of C and math to include Linear Algebra. I"m taking the Coursera parallel class and there is a lot of both.

daviangel
Автор

Background: "solid experience with the C programming language and basic knowledge of data structures and algorithms". Like other Udacity classes, we have microquizzes during the lectures and a significantly-sized programming assignment (that you'll do in an online IDE) per lecture.

johnowens
Автор

Yes, programming assignments are in C (with CUDA).

johnowens
Автор

Why did they remove this course on Udacity?

MalamIbnMalam
Автор

Ooh! Do tell, what's the annoying orange? My students will be quite interested.

johnowens
Автор

Good news! All the programming assignments in the class will be done on GPUs in the cloud (through a web-based IDE). We want the class to be accessible to as many people as possible, even those with no GPUs at all.

johnowens
Автор

Why not OpenCL ? Is not it better to switch to a vendor independent technology than staying specific to CUDA?

zohaibisrunning
Автор

on the contrary, that's a very good analogy.

czmelak
Автор

The course is not available, is it moved some where?

SaiHanumanthaRao
Автор

It appears that making it multi-platform is their intention, see:

But I understand, since it's still a work-in-progress. Thanks for the heads-up!

Tannzrz
Автор

So, are we going to use C in our coding assignments?

deimos