Parallel processing CUDA拥有并行内核意味着什么?

Parallel processing CUDA拥有并行内核意味着什么?,parallel-processing,cuda,operating-system,kernel,Parallel Processing,Cuda,Operating System,Kernel,我正在读一篇关于CUDA的文章,上面说CUDA程序是一个带有并行内核的串行程序。我的问题是: 它是一个串行程序意味着什么?我知道串行是并行的对立面,但这对于CUDA在不同处理器、不同内核上运行的代码来说意味着什么呢?我知道CUDA的意义在于它有助于并行编程,所以我想知道它的哪一部分是串行的 有多个内核意味着什么?我一直认为内核是操作系统的一部分,我认为CUDA只是在操作系统中运行的软件,对吗?CUDA如何拥有多个内核以及如何使用它们来实现并行性 CUDA内核是从单个线程的角度编写的。它回答了以下

我正在读一篇关于CUDA的文章,上面说CUDA程序是一个带有并行内核的串行程序。我的问题是:

它是一个串行程序意味着什么?我知道串行是并行的对立面,但这对于CUDA在不同处理器、不同内核上运行的代码来说意味着什么呢?我知道CUDA的意义在于它有助于并行编程,所以我想知道它的哪一部分是串行的

有多个内核意味着什么?我一直认为内核是操作系统的一部分,我认为CUDA只是在操作系统中运行的软件,对吗?CUDA如何拥有多个内核以及如何使用它们来实现并行性

CUDA内核是从单个线程的角度编写的。它回答了以下问题:每个线程将做什么?CUDA内核为每个线程的功能提供了一个单一的定义。从单个线程的角度来看,它似乎是一个串行程序。但是,当许多线程并行执行同一代码时,它在启动时变得并行

我认为你误解了。CUDA具有并行内核意味着CUDA中的每个内核都有机会根据其编写方式以及CUDA概念的细节(如启动时的内置变量和清单)跨多个执行并行线程进行表达。这并不意味着CUDA天生就需要多个内核来表示并行性。单个CUDA内核的启动本质上是并行的

你可能希望阅读