adasdasdad [1083503] · MS 2021 (수정됨) · 쪽지

2022-08-09 21:29:09
조회수 1,558

모델링 렌더링 지문 질문

게시글 주소: https://orbi.kr/00057927621




Q1.300개의 코어가 300개의 연산을 동시에 처리한 다는 것은 각 코어 1개당 300개를 동시에 맡아서 처리하는 건가요

아니면 코어1개 당 1개의 연산을 동시에 맡는 다는 건가요

이를 테면 코어 a,b,c,d 가 연산 1,2,3,4 를 동시에 진행해서 각각 진행이 20%가 됐다고 했을 때

a,b,c,d -> 1 , 2 각각 코어당 5% 진행하여 총 연산 시간의 20% 진행 인가요

a-> 1 20% 진행 b -> 2 20% 진행 인건가요 (코어- 연산의 일대일 대응 예를 들어 288개의 코어와 300개의 연산이 있다면 모든 데이터 동시 연산 불가능)


즉, 1대1 대응 인가요 아니면 1개의 코어가 모든 데이터를 연산하는건가요?

지문 마지막에는 각 코어는 모든 데이터를 동시에 연산 한다고 써있어서 전자가 일리 있어 보입니다.



하지만 해설지 p.110에 300개의 코어가 있어도 하나씩 처리하면 299개가 논다고 했으니 일대일 대응 인 후자로 이해가 됩니다. 이 말로 인해서 하나의 코어당 하나의 연산만 맡을 수 있다는 후자의 경우의 수를 생각했습니다.


Q2. 4번선지에 대한 질문은

전자의 경우에는 순차적으로 연산을 처리할 뿐이지 그 한개의 연산을 진행할때 300개의 코어가

모두관여 하기 때문입니다.

(예를 들면 A라는 연산에 1번코어가 1%계산 2번코어가 1% 계산 3번코어가 1%계산 하여 100% 채우기)

'각 코어는 모든 데이터를 동시에 연산하여 연산 시간이 짧아진다'

각 코어 =300개 모든 데이터 연산 =1개

선지에서는 연산을 순서대로만 처리하라고 했지. 그 과정에서 하나의 코어만을 사용하라고는 써있지 않아 문제가 없다고 생각합니다.

순차 적으로 연산해도 한 연산에 코어 1개가 개입하는 것과 300개의 코어가 개입 하는 것 그 속도 차이가 없다고

어떻게 단정지을 수 있나요?


만약 후자라면 명쾌히 납득할 수 있는 선지입니다. 하지만 후자의 근거를 지문에서 전혀 찾을 수 없어 질문드립니다.


 이 경우 전자는 보다 빠르게 첫번째 컵을 채운뒤 '순차적으로' 다음 컵으로 넘어가기에 '총 연산 시간'이 더 빠름

모든 기계가 컵을 채우는데 쓰이는 근거는 지문 맨 마지막 문장의 '각 코어' 에서 기인 하였음

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.

  • 유성국어 · 571544 · 22/08/10 19:19 · MS 2015

    절실한 질문같아 답변을 드리고 싶으나 질문이 너무 정제되어 있지 않아 무엇을 묻는지 잘 모르겠습니다.

    Q1에서 해설지 110p 의 해설지가 어떤 해설지인지.
    Q2에서 <4번선지에 대한 질문은 ~ 300개의 코어가 모두관여 하기 때문입니다.>가 무슨 말인지..(주어와 서술어가 호응하질 않는 듯합니다.)

    --

    어쨌든 해설을 해보자면, GPU 코어 하나는 하나의 연산을 수행할 것입니다.
    글의 마지막 문장에서 <한 번의 연산에 쓰이는 데이터를 각 코어에 전송한다>했으니까요.
    각 코어 당 담당하는 데이터가 하나인 것입니다.

    ---

    비유를 해볼까요.

    코어를 사람에, 데이터를 수학 문제라고 해봅시다.
    모든 사람은 수학문제 답을 내는 데 1초가 걸린다고 칩시다.


    100명의 사람한테 수학문제를 하나씩 주고, '시작!'하면 다 같이 동시에 자기 앞에 놓인 한 문제를 푸는 것입니다.
    (이게 GPU의 원리입니다.)
    만약 한 사람이 하나의 문제를 푸는데 걸리는 시간이 1초니까, '시작!'하고 나서 1초 뒤에 100개의 문제에 대한 답이 나와있겠죠.


    근데 만약 문제를 한 번에 하나씩 순차적으로 풀어야 한다면요?
    모두 다 같이 시작할 수가 없습니다.
    한 사람이 문제를 다 풀면 다음 사람이 시작, 그 사람이 끝나면 또 다음 사람이 시작하는 식으로 해야죠.
    그럼 100개의 답이 나올 때까지 100초가 걸리겠죠.

    이건 한 사람이 100문제를 푸는 시간과 같을 겁니다.

  • adasdasdad · 1083503 · 22/08/11 12:08 · MS 2021
    회원에 의해 삭제된 댓글입니다.
  • adasdasdad · 1083503 · 22/08/11 12:12 · MS 2021 (수정됨)

    한번의 연산에 쓰이는 데이터를 각 코어에 전송한다는 말ㄱ이 코어 하나당 하나의 연산을 담당한다 라는 뜻인걸 연관을 전혀 못짓겟네요 ㅠㅠ