論理的側面 CUDAで実行される多数の thread は、 論理的には一つの grid が複数の block に分けられ、 それぞれの block が複数の thread を含むという 階層的な構成になっています。 一つの grid が一つのプログラムに対応します(という理解でよいと思います)。 一つの grid は論理的には最大 2^16 x 2^16 の block で構成されます。 一つの block は最大で512の thread で構成されます。 shared memory は block ごとに独立して割り当てられ、 一つの block が確保できる shared memory の論理的な 最大サイズは 16KB です。 Streaming Multiprocessor (SM) 論理的には全ての thread が同時に実行されていると考えればよく、 またそう考えてプログラムを