global void VecAdd(float A, float B, float* C)
{
int i = threadIdx.x;
C[i] = A[i] + B[i];
}
int main()
{
...
// Kernel invocation with N threads
VecAdd<<<1, N>>>(A, B, C);
...
}

global -> cpu에서 gpu device를 쓰기 위해 Kernel를 불러와준다.

배열 정보, index는 grid size 와 block size로 정의된다.

grid size는 block 수, shape로 결정

  • block size는 thread 수, shape로 결정
  • Grid, Block은 1~3차원이 될수 있다.
  • gridDim.{x,y,z} - The dimensions of the grid
  • blockDim.{x,y,z} - The deminsions of the block
  • blockIdx.{x,y,z} - The index of the - current block within the grid
  • threadIdx.{x,y,z} - The index of the current thread within the block

1차원 배열일 때, 스레드 구성 제목BlockIndexThreadIndex

1차원 blockIdx.y *, gridDim.x +, blockIdx.x BlockIndex * blockDim.x + threadIdx.x
2차원 blockIdx.y *, gridDim.x +, blockIdx.x BlockIndex blockDim.y blockDim.x + threadIdx.y * blockDim.x + threadIdx.x
3차원 blockIdx.y *, gridDim.x +, blockIdx.x BlockIndex blockDim.z blockDim.y blockDIm.x + threadIdx.z blockDim.y blockDim.z + threadIdx.y blockDim.x + threadIdx.x

링크텍스트

#1 글을 작성하고 블로그를 관리해보세요.

John_purple(이지동)님의 회원 가입을 진심으로 축하합니다. 이 글은 비공개로 작성돼 있습니다.
'편집'으로 내용을 바꾸시거나, 삭제 후 '새 글을 작성'하셔도 됩니다.
글 뿐만 아니라 블로그의 각종 설정을 변경할 수도 있습니다. '블로그관리'를 확인해보세요.

 

#2 다양한 스킨이 있어요.

티스토리에 있는 다양한 '스킨'도 살펴 보세요.
블로그나 사이트를 사용하는 목적에 맞게 스킨을 고를 수 있습니다.
어떤 이야기를 주로 하실 건가요? 잘 생각해 보시고, 마음에 드는 스킨을 고르세요.
'스킨 편집'을 통해 다양한 커스텀, 그리고 홈 꾸미기를 적용하실 수도 있답니다.

 

#3 포럼에서 사람들과 소통하세요.

마지막으로 사용하시다가 티스토리에 대해 궁금한 내용이 있다면 '포럼'을 확인하세요.
찾기 어려울 땐 직접 질문을 해보는 건 어떨까요? 친절한 티슷터 분들이 바로 답변해 줄 거에요.

+ Recent posts