Coding & Programming 3

PyTorch CPU텐서와 GPU텐서의 구분

컴퓨터의 내부장치를 분류해보면, 크게 다음의 두 파트로 구분된다는 걸 알 수 있다. CPU와 RAM 등으로 구성된 일반적인 장치, 그리고 GPU와 VRAM 등으로 구성된 '그래픽카드'라는 특수한 장치. CPU와 GPU는 이름에서부터 알 수 있듯 둘 다 특정한 연산을 수행하는 프로세서인데, 이 둘은 서로 내부적인 구조가 달라서, 수행해야 할 연산에 따라 필요한 프로세서가 달라진다. GPU는 대규모 병렬 연산에 특화된 프로세서라고 이해할 수 있다. RAM은 우리가 흔하게 알고 있듯, CPU와 내부적으로 시스템버스를 통해 연결되어 있는 저장장치이다. CPU와 거리가 가깝게 연결되어 존재한다. '그래픽카드'는 GPU와 나머지 다른 몇 가지 요소들을 포함하는 전체 장치로서, GPU와 구분되는 용어이다. 이 ..

[예제코드] "mathlib.h" & "mathlib.cpp"

#pragma once// 문제 1: 기본 최대/최소int max_int(int a, int b);int min_int(int a, int b);// 문제 2: 배열 최대/최소int max_int(int arr[], int n);int min_int(int arr[], int n);// 문제 3: 제곱 함수float square(float x);void square(float arrOut[], const float arrIn[], int n);// 문제 4: 수학 공식float convertToCelsius(float fahrenheit);double calculateUniversalForce(double m1, double m2, double r, double G = 6.674E-11);double c..

문자열 포인터를 사용하는 이유 및 문자 배열과의 차이

1. 문자 배열을 선언하지 않고 문자열 리터럴을 그대로 포인터 변수에 담는 여러 가지 상황들char *p = "Hello";위 문장은 '문자열 리터럴'이 저장된 메모리의 시작 주소를 p라는 '문자열 포인터 타입의 변수'에 담는 문장이다. 이러한 문법구조를 사용하는 용도는 아래의 세 가지 상황이 대표적이다.첫째, 함수의 인자로 문자열을 전달받고자 할 때printf 함수는 첫번째 매개변수로 const char *format을 정의해두었다. 이 매개변수는 형식지정자가 포함된 형식문자열을 받아서 처리하기 위해 꼭 필요한 것으로, 사용자 입장에서는 이 매개변수 덕분에 문자열 리터럴을 그대로 printf의 인자로 전달해주는 것이 가능해진다. 아래는 printf 함수의 형태이다.int printf(const char..