우문현답
愚 問 賢 答
회사별 면접직군별진행 방식
    홈›회사별›에이로봇›ML 엔지니어›질문 상세
    問
    에에이로봇ML 엔지니어직무 역량2026년 출제

    CUDA나 OpenCL을 이용한 병렬 연산 환경에서의 경험은 어떤 것이 있나요?

    답변 미리보기

    그래픽스 수업에서 CUDA를 처음 사용해서 행렬 연산을 GPU에서 병렬로 처리하는 과제를 했습니다. 처음엔 단순히 CPU 코드를 GPU 커널로 옮기면 된다고…

    예상 답변 시간
    60~90초
    예상 꼬리질문
    3회
    난이도
    난이도 중상
    출제 빈도
    높음
    INTERVIEWER'S INTENT · 면접관의 의도

    이 질문, 네 갈래로 뜯어봅니다.

    면접관이 이 한 문장으로 확인하려는 것들. 각 갈래를 알면 답의 뼈대가 잡혀요.

    問
    01
    경험 결을 분별하는가?
    한 결로 답하는지, 커널 작성·메모리·동기화·튜닝 결 중 어느 결에서 굴린 흔적이 답에 있는지 보는 자리입니다. 한 결로 묶는 답은 깊이가 약해지는 자리입니다.
    骨
    02
    본인 사례가 있는가?
    이론 결만 답하는지, 본인이 실제 굴린 GPU 병렬 결의 흔적이 답에 묻어 있는지 살피는 자리입니다. 책에서 본 결은 실무 감각이 약해지는 자리입니다.
    語
    03
    지표가 분명한가?
    감으로 답하는지, 처리량·점유율·메모리 대역 결로 가른 변화가 답에 있는지 살피는 자리입니다. 지표 없는 결은 표면적입니다.
    本
    04
    트레이드오프를 의식하는가?
    장점만 답하는지, 이식성·복잡도·디버그 결 사이의 거래를 가른 흔적이 답에 있는지 보는 자리입니다. 만능 결은 신뢰감이 약해지는 자리입니다.
    말로 해봐야 는다
    읽는 것과 말하는 건 다릅니다.
    이 질문, 소리 내어 답해 볼까요?
    에이로봇 면접관 페르소나가 이 질문을 던지고, 당신의 답에 꼬리질문으로 되물어요.
    음성으로 답해보기
    행렬 연산 GPU 커널 구현 + 메모리 전송 비용 경험 + Shared Memory 활용 + 동기화 주의사항약 70초Nsight Compute로 Occupancy와 메모리 대역폭을 측정해 병목을 수치로 확인한 결약 76초CUDA와 OpenCL 사이 이식성 vs 생태계 트레이드오프를 직접 경험한 결약 76초
    CUDA/OpenCL 병렬 연산 환경 경험
    약 70초

    행렬 연산 GPU 커널 구현 + 메모리 전송 비용 경험 + Shared Memory 활용 + 동기화 주의사항

    그래픽스 수업에서 CUDA를 처음 사용해서 행렬 연산을 GPU에서 병렬로 처리하는 과제를 했습니다. 처음엔 단순히 CPU 코드를 GPU 커널로 옮기면 된다고 생각했는데, 메모리 전송 비용이 연산 이득을 상쇄하는 경우를 직접 경험했습니다. Global Memory 접근 패턴이 성능에 결정적인 영향을 주는 걸 배웠는데, 연속적이지 않은 메모리 접근은 coalescing 실패로 큰 지연이 생겼습니다. Shared Memory를 활용해서 반복 접근하는 데이터를 빠른 온칩 메모리에 올리는 방식으로 속도를 개선하는 경험을 했습니다. 동기화 측면에서는 커널 내 __syncthreads() 위치가 잘못되면 race condition이 생길 수 있다는 걸 배웠습니다.

    GPU 병렬 처리는 알고리즘을 병렬화 가능한 형태로 재설계해야 진짜 성능이 나온다는 걸 그때 배웠습니다.

    이 결의 특징
    그래픽스 수업에서 CUDA를 처음 사용해서 행렬 연산을 GPU에서 병렬로 처리하는 과제를 했습니다. 처음엔 단순히 CPU 코드를 GPU 커널로 옮기면 된다고 생각했는데, 메모리 전송 비용이 연산 이득을 상쇄하는 경우를 직접 경험했습니다라는 흔적이 있습니다
    이 결이 통하는 자리
    처음엔 단순히 CPU 코드를 GPU 커널로 옮기면 된다고 생각했는데, 메모리 전송 비용이 연산 이득을 상쇄하는 경우를 직접 경험했습니다. Shared Memory를 활용해서 반복 접근하는 데이터를 빠른 온칩 메모리에 올리는 방식으로 속도를 개선하는 경험을 했습니다. 동기화 측면에서는 커널 내 `__syncthreads()` 위치가 잘못되면 race c...
    예시 답변 2
    약 76초

    Nsight Compute로 Occupancy와 메모리 대역폭을 측정해 병목을 수치로 확인한 결

    CUDA 최적화를 할 때 처음에는 코드를 바꾸고 시간을 재는 방식으로만 진행했는데, 어느 시점부터 단순 시간 측정으로는 병목이 어디인지 알 수 없다는 한계를 느꼈습니다. Nsight Compute를 처음 사용했을 때 Occupancy가 37%에 불과했고, 스레드 블록 크기 설정이 잘못돼 GPU 코어가 절반 이상 놀고 있다는 것을 처음 알게 됐습니다. 블록 크기를 128에서 256으로 조정하고 나서 Occupancy가 71%로 올라갔고, 처리 시간이 기존 대비 약 42% 감소하는 것을 수치로 확인했습니다.

    메모리 대역폭 활용률도 함께 보니, Coalesced Access를 달성하기 전과 후의 차이가 2배 이상이었습니다. 지금은 CUDA 코드를 최적화할 때 프로파일러 없이 시작하지 않는다는 원칙을 갖게 됐습니다.

    이 결의 특징
    CUDA 최적화를 할 때 처음에는 코드를 바꾸고 시간을 재는 방식으로만 진행했는데, 어느 시점부터 단순 시간 측정으로는 병목이 어디인지 알 수 없다는 한계를 느꼈습니다. `Nsight Compute`를 처음 사용했을 때 Occupancy가 37%에 불과했고, 스레드 블록 크기 설정이 잘못돼 GPU 코어가 절반 이상 놀고 있다는 것을 처음 알게 됐습니다
    이 결이 통하는 자리
    블록 크기를 128에서 256으로 조정하고 나서 Occupancy가 71%로 올라갔고, 처리 시간이 기존 대비 약 42% 감소하는 것을 수치로 확인했습니다. 메모리 대역폭 활용률도 함께 보니, Coalesced Access를 달성하기 전과 후의 차이가 2배 이상이었습니다는 자리에서 통합니다
    예시 답변 3
    약 76초

    CUDA와 OpenCL 사이 이식성 vs 생태계 트레이드오프를 직접 경험한 결

    처음 병렬 프로그래밍을 배울 때 CUDA로 시작하면 OpenCL도 비슷하게 쓸 수 있을 거라고 생각했습니다. 하지만 같은 알고리즘을 OpenCL로 포팅하면서 API 설계 철학이 달라서 단순히 문법만 바꾸는 게 아니었다는 것을 깨달았습니다. CUDA에는 cuBLAS·cuDNN 같은 고수준 라이브러리가 잘 갖춰져 있어서 행렬 연산에는 훨씬 쉽게 쓸 수 있었지만, OpenCL은 같은 기능을 직접 커널로 구현해야 하는 부분이 많아서 개발 시간이 길었습니다. 팀에서는 NVIDIA GPU 환경이 고정돼 있다는 조건하에 CUDA를 유지하기로 했습니다.

    플랫폼 독립성이 필요 없다면 생태계가 성숙한 쪽을 고르는 것이 현실적이라는 판단이었고, 지금도 비슷한 선택을 하게 되면 환경 제약을 먼저 확인하는 편입니다.

    이 결의 특징
    처음 병렬 프로그래밍을 배울 때 CUDA로 시작하면 OpenCL도 비슷하게 쓸 수 있을 거라고 생각했습니다. 하지만 같은 알고리즘을 OpenCL로 포팅하면서 API 설계 철학이 달라서 단순히 문법만 바꾸는 게 아니었다는 것을 깨달았습니다라는 흔적이 있습니다
    이 결이 통하는 자리
    하지만 같은 알고리즘을 OpenCL로 포팅하면서 API 설계 철학이 달라서 단순히 문법만 바꾸는 게 아니었다는 것을 깨달았습니다. 팀에서는 NVIDIA GPU 환경이 고정돼 있다는 조건하에 CUDA를 유지하기로 했습니다. 플랫폼 독립성이 필요 없다면 생태계가 성숙한 쪽을 고르는 것이 현실적이라는 판는 자리에서 통합니다
    !
    위 답변은 여러 풀이 중 한 가지 예시입니다. 정답이 아니며, 외워서 그대로 말하면 면접관이 다음 질문을 그 자리에서 시작하는 경우가 많습니다. 본인의 프로젝트·기준·숫자로 다시 짜는 자리로만 쓰세요.
    ✕자주 빠지는 자리

    같은 실수가 반복돼요. 이것만 피해도 절반은 갑니다.

    • ✕떨어뜨린 옵션이 1개라도 있는가? "이게 답이었어요"만으로는 의사결정이 아니라 그냥 선택입니다.
    • ✕선택 기준이 그 프로젝트에 한정되는가? "성능이 좋아서"는 일반론, "우리 트래픽이 X 패턴이라서"가 본인의 답입니다.
    • ✕결과 숫자 1개를 정확히 말할 수 있는가? P95·QPS·적중률 — 무엇이든 1개. 숫자가 없으면 직감으로 한 일처럼 들리기 쉽습니다.
    • ✕지금 다시 한다면 어떻게 할지 답할 수 있는가? "잘했다"보다 "이건 다르게 했을 것 같다"가 더 깊은 인상을 남깁니다.
    ▶이어질 꼬리질문

    진짜 면접은 두 번째 질문부터예요. 이 답 뒤에 따라올 법한 것들.

    壹왜 그 도구 결을 고르셨나요?
    貳막힌 최적화 경로 결도 있었나요?
    參본인만의 병렬 결이 있나요?
    이제, 직접 답해볼 차례예요.
    눈으로 읽은 답은 면접장에서 나오지 않아요. 에이로봇 면접관과 이 질문으로 한 번 대화해 보세요.
    이 질문으로 모의면접 해보기
    또는, 다음 질문으로

    같은 흐름에서 자주 이어지는 질문들이에요.

    토스 · 인프라 엔지니어
    GPU Cluster나 ML Ops 환경을 운영했던 경험이 있다면 그 과정에서 어떤 기술과 도구를 사용했는지 말씀해 주세요.
    이 질문 보기
    채널톡 · ML 엔지니어
    학습을 GPU에서 multi-GPU로 수행한 방식과 문제 해결 사례를 알려주세요.
    이 질문 보기
    안내 · 이 페이지의 질문·답변·꼬리질문은 유사 직군 채용 시장의 공개된 면접 후기·커뮤니티 게시물을 분석해 구성한 학습 자료입니다. 실제 출제·회사 공식 입장과는 무관하며, 정정 요청 시 24시간 내 반영합니다. 자세히
    개인정보처리방침이용약관문의
    © 2026 우문현답. All rights reserved.
    이 페이지 목차
    01면접관의 의도02답변의 결03실수·꼬리질문04관련 질문
    말로 해봐야 는다
    이 질문, 에이로봇 면접관과
    음성으로 답해볼까요?
    모의면접 해보기
    첫 회 무료 · 종료 즉시 음성 폐기