GPU
-
[Particle Simulator] Compute Shader 사용해 gpu 연산하기Apple🍎/Metal 2025. 4. 1. 22:45
[Particle Simulator] cpu 연산 - gpu 랜더링 방법1. Metal Setup 과정 GPU 자원 초기화 : 시스템의 GPU에 접근하기 위한 기본 자원을 설정, MTLCreateSystemDefaultDevice( )를 호출하여 기기의 GPU를 가리키는 참조를 얻습니다. 화면 표시 영역 준비 : GPU가 렌people-analysis.tistory.com기존 CPU 기반 구현의 한계지난 글에서는 입자 시뮬레이션을 위해 프레임마다 각 입자에 대한 계산을 cpu에서 실행하고 그 결과를 gpu를 통해 렌더링하는 방식을 사용했습니다. private func updateSandSimulation() { // 아래에서 위로 순회 (중력 방향을 고려) for y in (0..= gridH..
-
Metal 렌더링 파이프라인Apple🍎/Metal 2025. 3. 29. 21:11
Metal 렌더링 파이프라인은 3D 그래픽을 2D 화면에 체계적으로 그리는 과정을 말합니다. 이 과정을 단계별로 자세히 알아보도록 합시다. 💡 글 이해를 위해 필요한 개념들 정점(Vertext) : 3D 공간상의 점으로, 3D 모델이나 그래픽을 구성하는 가장 기본적인 요소이며 다음과 같은 정보를 포합합니다. 위치(position): x, y, z 좌표로 3D 공간에서의 위치를 나타냅니다. 색상(Color) : 정점의 색상 정보입니다. 텍스쳐 좌표(texture coordinates): UV 좌표라고도 하며, 텍스쳐 이미지의 어느 부분이 해당 정점에 매핑될지를 결정합니다. 법선 벡터(normal vectors) : 정점에서의 표면 방향을 나타내느 벡터로, 조명 계산에 사용됩니다. 텍스쳐(Texture)..
-
CPU와 GPU 비교와 GPGPU 프로그래밍의 이해Apple🍎/Metal 2025. 3. 27. 21:33
CPU와 GPU의 기본 구조와 연산 방식CPU (중앙처리장치)의 구조와 작동 원리CPU는 컴퓨터의 '두뇌'로 불리며, 몇 개의 강력한 코어로 구성되어 있습니다. 전통적인 CPU는 4~16개 정도의 코어를 가지고 있으며, 각 코어는 복잡한 명령어를 처리할 수 있는 고성능 연산 유닛입니다.CPU의 주요 특징직렬 처리(Serial Processing): 하나의 코어는 기본적으로 한 번에 하나의 작업을 순차적으로 처리합니다.복잡한 제어 로직: 분기 예측(Branch Prediction), 명령어 파이프라이닝(Instruction Pipelining), 비순차적 실행(Out-of-Order Execution) 등 복잡한 제어 로직을 갖추고 있습니다.대용량 캐시 메모리: L1, L2, L3 등 여러 계층의 캐시를 ..
-
셰이더(shader)는 무엇인가?Apple🍎/Metal 2025. 3. 20. 22:27
다음은 애플 디벨로퍼 홈페이지에 있는 Metal 의 소개입니다. 일단 Metal 을 사용하면 GPU 프로그래밍을 가능하게 해준다고는 들었는데, 셰이딩 언어는 또 뭘까요? 사실 GPU(Graphics Processing Unit)는 그래픽 랜더링을 하기 위해 만들어진 만들어진 장치입니다.따라서 GPU 프로그래밍을 이해를 위해 그래픽 프로그래밍의 발전과정을 함께 셰이더라는 용어에 대해 알아보도록 하겠습니다. 고정 파이프라인 시대 (1990년대 초반)1990년대 초반, 3D 그래픽을 표현하는 방식은 지금과 매우 달랐습니다. 이 시기에는 '고정 파이프라인'이라는 방식으로 그래픽 렌더링이 이루어졌습니다. 이는 마치 조립 라인과 같이, 3D 그래픽을 처리하는 단계가 하드웨어 제조사에 의해 사전에 정의되고 고정되어..
-
동시성 이해를 위한 컴퓨터 기본 구조Apple🍎/Cocurrency 2025. 1. 26. 20:01
컴퓨터란 데이터들을 정해진 규칙에 따라 연산을 수행하는 장치 입니다. 요리에 한번 비유를 해볼까요? 데이터: 요리의 재료들이 데이터에 해당합니다. 예를 들어 계란, 설탕, 밀가루와 같은 실제 재료들은 컴퓨터가 처리하는 원시 데이터와 같습니다.재료들은 그 자체로는 아무 의미가 없지만, 정해진 규칙에 따라 처리되면 의미 있는 결과물이 됩니다. 정해진 규칙: 레시피가 바로 정해진 규칙에 해당합니다. 레시피는 "계란을 3개 넣고, 설탕 2스푼을 넣은 뒤 섞는다"와 같이 재료를 어떤 순서로, 어떻게 처리해야 하는지 정확히 명시합니다. 이는 컴퓨터 프로그램이 데이터를 어떻게 처리할지 정의하는 것과 같습니다. 연산: 실제 요리 과정이 연산에 해당합니다.재료를 섞고, 반죽하고, 굽는 등의 물리적 행위들은 컴퓨터가 수행..