We may earn an affiliate commission when you visit our partners.
Course image
Esteban Clua

Neste curso você irá aprender o que são as GPUs e como elas funcionam. Daremos alguns conceitos básicos de computação paralela e de programação de alto desempenho, possibilitando que o aluno possa desenvolver aplicações práticas ao final do curso. Finalmente, o curso entra em detalhes na linguagem CUDA, usada para programar GPUs NVIDIA. O aluno terminará o curso com a capacidade de desenvolver diferentes aplicações práticas e de explorar as GPUs para diferentes finalidades. O curso é ideal para desenvolvedores que procuram alto desempenho através das GPUs, para as mais diferentes áreas aplicadas: e-science, big data, machine learning, engenharia, etc.

Read more

Neste curso você irá aprender o que são as GPUs e como elas funcionam. Daremos alguns conceitos básicos de computação paralela e de programação de alto desempenho, possibilitando que o aluno possa desenvolver aplicações práticas ao final do curso. Finalmente, o curso entra em detalhes na linguagem CUDA, usada para programar GPUs NVIDIA. O aluno terminará o curso com a capacidade de desenvolver diferentes aplicações práticas e de explorar as GPUs para diferentes finalidades. O curso é ideal para desenvolvedores que procuram alto desempenho através das GPUs, para as mais diferentes áreas aplicadas: e-science, big data, machine learning, engenharia, etc.

ATENÇÃO: O curso está em produção e a cada semana estaremos colocando novas aulas.

Enroll now

What's inside

Learning objectives

  • Programar gpus
  • Programação paralela
  • Cuda
  • Nvidia
  • Arquitetura de gpus
  • Como funcionam gpus nvidia

Syllabus

Introdução
Referencias e pré-requisitos
Motivação: porque usar GPUs?
Consumo de Energia importa!
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Oferece conteúdo sobre GPUs e CUDA, tópicos altamente relevantes para computação paralela e alto desempenho
Explora conceitos básicos de computação paralela e programação de alto desempenho, fornecendo uma base sólida para os alunos
Guia os alunos pelo desenvolvimento de aplicações práticas usando GPUs, capacitando-os para vários casos de uso
Aborda a linguagem CUDA em detalhes, permitindo que os alunos programem GPUs NVIDIA
Abrange uma ampla gama de tópicos relacionados a GPUs, incluindo arquitetura, como funcionam as GPUs NVIDIA e como programá-las
O curso está em produção, com novas aulas sendo adicionadas regularmente, o que garante conteúdo atualizado e relevante

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Programação de gpus e cuda para alto desempenho

Segundo os alunos, este curso é uma excelente introdução à arquitetura e programação de GPUs, com foco particular na linguagem CUDA. Muitos elogiam a profundidade e clareza do instrutor, que consegue descomplicar temas complexos. Os exemplos práticos e exercícios são frequentemente citados como um ponto forte, tornando o aprendizado muito aplicado. Embora a natureza de "curso em produção" tenha sido notada inicialmente, as atualizações contínuas foram bem recebidas, melhorando a experiência geral. É considerado um recurso valioso para profissionais em áreas como machine learning e big data, embora alguns observem a necessidade de sólidos pré-requisitos em C/C++ e programação paralela.
Atualizações contínuas adicionam valor e conteúdo.
"Comecei o curso quando ainda estava em produção, e é ótimo ver como ele evoluiu com as novas aulas e melhorias no material."
"As atualizações periódicas são um grande diferencial, mantendo o conteúdo sempre relevante e expandido para tópicos mais recentes."
"Fiquei satisfeito com a dedicação em adicionar mais material, mostra um comprometimento com a qualidade do curso ao longo do tempo."
Visão completa da arquitetura à programação de GPUs.
"O curso cobriu desde os conceitos básicos da arquitetura de GPUs até tópicos avançados de CUDA, achei muito completo."
"Gostei da forma como explora tanto a teoria fundamental quanto a aplicação prática, é um balanço muito bom."
"Proporciona uma base sólida para quem quer mergulhar em alto desempenho com GPUs, seja para machine learning ou engenharia."
Exemplos práticos e exercícios para aprendizado sólido.
"Os exemplos práticos em CUDA são o ponto alto, me permitiram aplicar o que aprendi imediatamente."
"Gostei muito dos exercícios, eles realmente me desafiaram e consolidaram meu entendimento dos conceitos de paralelismo."
"As demonstrações e os projetos me deram a confiança para começar a desenvolver minhas próprias aplicações em GPU."
Instrutor com amplo conhecimento e clareza excepcional.
"O professor tem um conhecimento muito profundo e a didática é excelente, tornando temas difíceis bem acessíveis."
"A clareza nas explicações e a forma como o conteúdo é estruturado me ajudaram a entender CUDA de verdade."
"Sinto que o instrutor realmente domina o assunto, e isso faz toda a diferença para o aprendizado de arquitetura de GPUs."
Exige base sólida em C/C++ e programação paralela.
"É fundamental ter um bom domínio de C/C++ antes de iniciar, senti que a falta dessa base me dificultou um pouco."
"O curso é ótimo, mas definitivamente não é para iniciantes absolutos. Conhecimento prévio de computação paralela é um diferencial."
"Eu tinha pouca experiência em C++ e tive que revisar muitos conceitos em paralelo para acompanhar o ritmo do curso."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Arquitetura e Programação de GPUs with these activities:
Create a study guide summarizing key concepts
Improve your retention and understanding by creating a concise study guide that consolidates the key concepts of the course.
Browse courses on CUDA
Show steps
  • Review your notes and course materials
  • Identify the most important concepts
  • Summarize each concept in a clear and concise manner
Review parallelization concepts
Review the concepts of parallelization to build up your foundational understanding of this course's topic.
Browse courses on CUDA
Show steps
  • Go over notes on basic parallelization concepts
  • Read a blog post or article on parallelization techniques
Review Computer Architecture
Revising core computer architecture concepts will establish a strong foundation for learning about GPUs.
Browse courses on Computer Architecture
Show steps
  • Revisit the basics of computer organization and architecture.
  • Review the different components of a CPU, including the control unit, arithmetic logic unit, and memory.
  • Study the different types of computer buses and how they are used to connect different components of a computer.
11 other activities
Expand to see all activities and additional details
Show all 14 activities
Explore CUDA Development Resources
Exploring CUDA tutorials will provide you with valuable insights and best practices for GPU programming.
Browse courses on CUDA
Show steps
  • Review official CUDA documentation and tutorials.
  • Follow online courses or workshops on CUDA programming.
  • Utilize online forums and communities for support and knowledge sharing.
Create a simple program that uses CUDA
Reinforce your understanding of CUDA programming by creating a simple but functional program.
Browse courses on CUDA
Show steps
  • Set up your development environment
  • Write a simple CUDA program
  • Run and test your program
Participate in a study group with other students
Enhance your learning by collaborating with peers, discussing concepts, and sharing insights.
Browse courses on CUDA
Show steps
  • Find a study group or form one with classmates
  • Meet regularly to discuss course material and work on assignments
  • Engage in active discussions and share your perspectives
Practice Parallel Programming Concepts
Practicing parallel programming concepts will enhance your understanding of how to write efficient code for GPUs.
Browse courses on Parallel Programming
Show steps
  • Implement basic parallel algorithms using threads or processes.
  • Experiment with different synchronization techniques to avoid race conditions.
  • Optimize code for parallel execution by reducing shared memory access and improving data locality.
Follow a tutorial on advanced CUDA programming
Expand your knowledge of CUDA by following a tutorial that goes beyond the basics.
Browse courses on CUDA
Show steps
  • Find a reputable tutorial on advanced CUDA programming
  • Follow the tutorial step-by-step
  • Experiment with the code and try out different techniques
Develop a GPU-Accelerated Application
Building a practical application will solidify your understanding of GPU programming and its applications in real-world scenarios.
Show steps
  • Identify a problem or task that can benefit from GPU acceleration.
  • Design and implement a solution using CUDA or other GPU programming frameworks.
  • Optimize the code for performance and efficiency.
  • Evaluate the results and compare them to non-GPU implementations.
Provide Guidance to Aspiring GPU Programmers
Mentoring others will reinforce your understanding of GPU programming concepts and foster your communication skills.
Show steps
  • Identify opportunities to mentor junior developers or students interested in GPU programming.
  • Share your knowledge and experience through code reviews, technical discussions, and project guidance.
  • Provide constructive feedback and support to help mentees develop their skills.
Develop a CUDA application for a specific problem
Apply your CUDA skills to solve a real-world problem by developing a custom application.
Browse courses on CUDA
Show steps
  • Identify a problem that can be solved using CUDA
  • Design and develop a CUDA application
  • Test and refine your application
Develop a Whitepaper on GPU Applications
Writing a whitepaper will challenge you to synthesize your knowledge and articulate the practical applications of GPUs in various domains.
Show steps
  • Research and identify specific industries or applications where GPUs have made a significant impact.
  • Analyze case studies and gather data to support your findings.
  • Write a comprehensive report outlining the benefits, challenges, and future trends of GPU applications.
Contribute to Open-Source GPU Projects
Contributing to open-source projects will expose you to real-world GPU codebases and enhance your understanding of best practices.
Show steps
  • Identify open-source GPU projects that align with your interests and skill level.
  • Review the project documentation and codebase to understand the project's goals and implementation.
  • Contribute bug fixes, feature enhancements, or documentation improvements to the project.
  • Collaborate with other contributors and the project maintainers to improve the project.
Contribute to an open-source CUDA project
Deepen your understanding of CUDA and make a meaningful contribution to the community by working on an open-source project.
Browse courses on CUDA
Show steps
  • Identify an open-source CUDA project that interests you
  • Review the project's documentation and codebase
  • Identify an area where you can contribute
  • Make your contributions and submit a pull request

Career center

Learners who complete Arquitetura e Programação de GPUs will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser