{
"cells": [
{
"cell_type": "markdown",
"id": "0d6fecdf-48c0-4745-b802-2117fb3137cf",
"metadata": {},
"source": [
"# Basics of CuPy"
]
},
{
"cell_type": "markdown",
"id": "15a05d43-0bf5-48d3-9c88-6074eed82a04",
"metadata": {},
"source": [
"## Overview\n",
"### In this tutorial, you learn:\n",
"\n",
"* Basics of Cupy and GPU computing\n",
"* Data Transfer Between Host and Device\n",
"* Compare speeds to NumPy\n",
"\n",
"## Prerequisites\n",
"\n",
"| Concepts | Importance | Notes |\n",
"| --- | --- | --- |\n",
"| [Familiarity with NumPy](https://foundations.projectpythia.org/core/numpy.html) | Necessary | |\n",
"\n",
"- **Time to learn**: 30 minutes\n",
"\n",
"## Introduction to CuPy\n",
"CuPy is an open-source GPU-accelerated array library for Python that is compatible with NumPy/SciPy. \n",
"\n",
"\n",
"\n",
"CuPy uses NVIDIA CUDA to run operations on the GPU, which can provide significant performance improvements for numerical computations compared to running on the CPU, especially at larger data sizes. CuPy provides a NumPy-like interface for array manipulation and supports a wide range of mathematical operations, making it a powerful tool for scientific computing on GPUs.\n",
"\n",
"