포지션 상세
• Moreh는 기존 AI 인프라의 한계를 뛰어넘기 위해, 하드웨어와 소프트웨어를 아우르는 새로운 시스템을 개발합니다.
• NPU System Software Engineer는 호스트 시스템과 NPU 하드웨어를 연결하는 저수준 시스템 소프트웨어를 개발합니다. 하드웨어 파트너가 제공하는 Firmware, User-Mode Driver(이하 ‘UMD’) 및 Kernel-Mode Driver(이하 ‘KMD’)를 분석·검증하고 공동 개발하며, 이후 유지 보수와 기능 개선을 주도합니다.
• 파트너가 제공하는 Device Software Stack을 Moreh의 Runtime 및 상위 소프트웨어와 통합하고, 신규 가속기의 초기 구동부터 성능 최적화, 장애 분석까지 담당합니다.
• 상위 소프트웨어를 개발하는 엔지니어 및 하드웨어 파트너와 긴밀하게 협업합니다.
• NPU 초기화, 자원 관리, Command Queue 및 실행 제어를 담당하는 저수준 Runtime과 User-Mode Driver 공동 개발 및 최적화
• Linux Kernel-Mode Driver와 PCIe, MMIO, DMA, Interrupt, IOMMU 기반 Host–Device 인터페이스 공동 개발, 통합 및 유지보수
• NPU 관리 Firmware의 통합·분석·디버깅과 부팅, 전력·클록, 열·텔레메트리, Reset 경로 검증 및 개선
• 파트너와 함께 신규 NPU 및 시스템의 초기 구동을 수행하고, 기능·안정성·복구·호환성 검증과 Hardware–Software 경계에서 발생하는 장애 원인 분석
• Driver/Firmware와 상위 소프트웨어 간 인터페이스를 통합하고, Kernel Launch, 데이터 전송, 동기화 및 통신 경로의 성능 병목 개선
• C/C++ 기반의 시스템 소프트웨어 개발이 가능하신 분
• 운영체제와 컴퓨터 구조에 대한 이해가 있으신 분
• Device Driver, Firmware, Embedded Software, GPU/NPU Runtime 등 저수준 소프트웨어 분야 중 하나 이상의 개발·분석·디버깅 경험이 있으신 분
• 외부에서 제공된 코드와 기술 문서를 바탕으로 요구사항 충족 여부를 검토하고, Hardware–Software 경계에서 발생하는 문제를 분석·디버깅할 수 있으신 분
• 영문 기술 문서를 읽고 작성할 수 있으며, 팀워크를 중시하고 긍정적인 태도로 하드웨어 파트너 및 내부 엔지니어와 기술 이슈를 명확히 정리하고 협업할 수 있으신 분
• NPU System Software Engineer는 호스트 시스템과 NPU 하드웨어를 연결하는 저수준 시스템 소프트웨어를 개발합니다. 하드웨어 파트너가 제공하는 Firmware, User-Mode Driver(이하 ‘UMD’) 및 Kernel-Mode Driver(이하 ‘KMD’)를 분석·검증하고 공동 개발하며, 이후 유지 보수와 기능 개선을 주도합니다.
• 파트너가 제공하는 Device Software Stack을 Moreh의 Runtime 및 상위 소프트웨어와 통합하고, 신규 가속기의 초기 구동부터 성능 최적화, 장애 분석까지 담당합니다.
• 상위 소프트웨어를 개발하는 엔지니어 및 하드웨어 파트너와 긴밀하게 협업합니다.
주요업무
• 하드웨어 파트너가 제공하는 Firmware 및 Device Driver의 요구사항 파악, 설계·코드 검토, 기능·품질 검증 및 기술적 수용 여부 판정• NPU 초기화, 자원 관리, Command Queue 및 실행 제어를 담당하는 저수준 Runtime과 User-Mode Driver 공동 개발 및 최적화
• Linux Kernel-Mode Driver와 PCIe, MMIO, DMA, Interrupt, IOMMU 기반 Host–Device 인터페이스 공동 개발, 통합 및 유지보수
• NPU 관리 Firmware의 통합·분석·디버깅과 부팅, 전력·클록, 열·텔레메트리, Reset 경로 검증 및 개선
• 파트너와 함께 신규 NPU 및 시스템의 초기 구동을 수행하고, 기능·안정성·복구·호환성 검증과 Hardware–Software 경계에서 발생하는 장애 원인 분석
• Driver/Firmware와 상위 소프트웨어 간 인터페이스를 통합하고, Kernel Launch, 데이터 전송, 동기화 및 통신 경로의 성능 병목 개선
자격요건
• 컴퓨터공학, 전기·전자공학 혹은 관련 전공 학부 졸업, 또는 이와 동등한 경력이 있으신 분• C/C++ 기반의 시스템 소프트웨어 개발이 가능하신 분
• 운영체제와 컴퓨터 구조에 대한 이해가 있으신 분
• Device Driver, Firmware, Embedded Software, GPU/NPU Runtime 등 저수준 소프트웨어 분야 중 하나 이상의 개발·분석·디버깅 경험이 있으신 분
• 외부에서 제공된 코드와 기술 문서를 바탕으로 요구사항 충족 여부를 검토하고, Hardware–Software 경계에서 발생하는 문제를 분석·디버깅할 수 있으신 분
• 영문 기술 문서를 읽고 작성할 수 있으며, 팀워크를 중시하고 긍정적인 태도로 하드웨어 파트너 및 내부 엔지니어와 기술 이슈를 명확히 정리하고 협업할 수 있으신 분





