{"id":22920674,"url":"https://github.com/aaditya29/parallel-computing-and-cuda","last_synced_at":"2025-07-18T12:39:47.506Z","repository":{"id":248226894,"uuid":"828121453","full_name":"aaditya29/Parallel-Computing-And-CUDA","owner":"aaditya29","description":"Learning about Parallel Computing and GPU programming using CUDA.","archived":false,"fork":false,"pushed_at":"2024-07-31T13:29:26.000Z","size":49,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T08:34:31.650Z","etag":null,"topics":["c","cpp","cuda","cuda-kernels","cuda-programming","nvidia-cuda","openmp","openmpi","parallel-computing","parallel-programming"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aaditya29.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-13T07:19:24.000Z","updated_at":"2024-07-31T13:29:29.000Z","dependencies_parsed_at":"2024-07-13T08:54:09.701Z","dependency_job_id":"9226df82-95fd-4b51-8666-7dae994693ed","html_url":"https://github.com/aaditya29/Parallel-Computing-And-CUDA","commit_stats":null,"previous_names":["aaditya29/parallel-computing-and-cuda"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaditya29%2FParallel-Computing-And-CUDA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaditya29%2FParallel-Computing-And-CUDA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaditya29%2FParallel-Computing-And-CUDA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaditya29%2FParallel-Computing-And-CUDA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaditya29","download_url":"https://codeload.github.com/aaditya29/Parallel-Computing-And-CUDA/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246650797,"owners_count":20811989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cpp","cuda","cuda-kernels","cuda-programming","nvidia-cuda","openmp","openmpi","parallel-computing","parallel-programming"],"created_at":"2024-12-14T07:16:38.628Z","updated_at":"2025-04-01T13:41:21.242Z","avatar_url":"https://github.com/aaditya29.png","language":"C++","readme":"# Parallel Computing and CUDA Learning Repository\n\nWelcome to the Parallel Computing and CUDA Learning Repository! This repository is designed as a comprehensive reference for anyone interested in learning about Parallel Computing and GPU programming using CUDA.\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Prerequisites](#prerequisites)\n- [Getting Started](#getting-started)\n- [Core Concepts](#core-concepts)\n- [CUDA Programming](#cuda-programming)\n- [Advanced Topics](#advanced-topics)\n- [Projects](#projects)\n- [Additional Resources](#additional-resources)\n\n## Introduction\n\nParallel computing allows you to perform many calculations simultaneously, leveraging the power of modern multi-core processors and GPUs. CUDA (Compute Unified Device Architecture) is a parallel computing platform and application programming interface (API) model created by NVIDIA. It allows developers to use GPUs for general purpose processing.\n\nThis repository aims to provide a structured path to learn parallel computing and CUDA programming from scratch. Whether you're a beginner or have some experience, you'll find valuable resources and practical examples to enhance your understanding.\n\n## Prerequisites\n\nBefore you begin, ensure you have the following:\n\n- Basic understanding of programming concepts\n- Familiarity with C/C++ programming languages\n- Basic understanding of computer architecture\n- Familiarity with algorithms and data structures\n- A CUDA-capable NVIDIA GPU\n\n## Getting Started\n\nTo get started with this repository:\n\n1. **Clone the repository**:\n\n   ```bash\n   git clone https://github.com/aaditya29/Parallel-Computing-And-CUDA\n   cd Parallel-Computing-And-CUDA\n   ```\n\n2. **Set up your development environment:** Configure your IDE or text editor for CUDA development.\n\n3. **Explore the tutorials and examples**:\n   - Navigate through the directories and start with the basic tutorials to get a grasp of fundamental concepts.\n\n## Core Concepts\n\nThis section covers fundamental concepts in parallel computing:\n\n- Parallel vs. Sequential Computing\n\n- Amdahl's Law and Gustafson's Law\n\n- Types of Parallelism (Data, Task, Pipeline)\n\n- Parallel Architectures (SIMD, MIMD)\n\n- Synchronization and Communication\n\n## CUDA Programming\n\nLearn the basics of CUDA programming:\n\n- CUDA Programming Model\n\n- Thread Hierarchy (Grid, Block, Thread)\n\n- Memory Hierarchy (Global, Shared, Local, Constant)\n\n- Kernel Functions\n\n- Device Management\n\n- Error Handling\n\n## Advanced Topics\n\nExplore more advanced concepts in CUDA:\n\n- Stream Processing\n\n- Dynamic Parallelism\n\n- Unified Memory\n\n- Multi-GPU Programming\n\n- CUDA Libraries (cuBLAS, cuDNN, Thrust)\n\n- Performance Optimization Techniques\n\n## Projects\n\n## Additional Resources\n\n- [NVIDIA CUDA Documentation](https://docs.nvidia.com/cuda/)\n\n- [Parallel Computing: Theory and Practice](https://www.cs.cmu.edu/~guyb/paralg/)\n\n- [CUDA by Example: An Introduction to General-Purpose GPU Programming](https://developer.nvidia.com/cuda-example)\n\n- [Introduction to Parallel Programming in Open MP](https://www.youtube.com/playlist?list=PLp6ek2hDcoNBAyEJmxsOowMYNTKsUmTZ8)\n\n- [Parallel C++](https://youtube.com/playlist?list=PLxNPSjHT5qvsGKsAhirvZn7W73pXhXpfv)\n\n- [Practical Parallelism in C++](https://www.youtube.com/playlist?list=PLxNPSjHT5qvugVNYwtQwnvSQyvlbzAML3)\n\n- [Introduction to Parallel Programming with CUDA](https://newfrontiers.illinois.edu/news-and-events/introduction-to-parallel-programming-with-cuda/)\n\n- [CUDA Crash Course](https://www.youtube.com/playlist?list=PLxNPSjHT5qvtYRVdNN1yDcdSl39uHV_sU)\n\n- **Jeremy Howard Lectures**\n\n- **Programming Massively Parallel Processors: A Hands-on Approach Book**\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaditya29%2Fparallel-computing-and-cuda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaditya29%2Fparallel-computing-and-cuda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaditya29%2Fparallel-computing-and-cuda/lists"}