Vx, 하나의 언어로 모든 칩을 제어하다
Vx – One Language, Every Chip

Vx는 이기종 컴퓨팅을 위한 시스템 프로그래밍 언어다. CPU, GPU, NPU, 가속기 메모리가 타입 시스템에 포함되어 호스트 스레드가 디바이스 포인터를 역참조하면 컴파일 오류가 발생한다. 데이터 위치가 타입의 일부가 되며, NPU 메모리에 고정된 텐서는 호스트 DRAM과 다른 타입으로 취급된다. 컴파일러는 주소 공간, 용량, 시맨틱 계약, 선형 타입, 토폴로지 도달 가능성, 자동 미분을 정적으로 검사한다. 머신 파일은 메모리 계층과 상호 연결을 선언하며, H100, B200, MI300X, Apple M4 등 실제 하드웨어를 지원한다.
호스트 스레드가 디바이스 포인터를 역참조하는 것은 새벽 3시의 세그멘테이션 오류가 아니라 컴파일 오류다.
HN 토론
31- pdpi
> Vx는 열 종류의 실리콘 전반에서 정확하고 빨라야 하는 것에 맞는 언어다. 아직 파악 중인 것에 맞는 언어는 아니다.
약간 곁가지지만, 이런 구분을 해준 게 정말 *정말* 좋고, 더 많은 사람이 이렇게 했으면 좋겠다. 너무 많은 도구가 모든 사람을 위한 만능을 표방하며 모든 사용 사례를 아우르려고 하는데, 그건 아무에게도 도움이 안 된다.
- dreamoffire
“최고의 프로그래밍 언어를 원해요! 사람들이 Rust, Mojo, Zig에서 좋아하는 점을 보고 사양을 만들어 주세요!
아, 미래도 생각해야 하는 거 잊지 마세요… GPU에서도 돌아가야 해요.
너무 LLM처럼 들리지 않게 해 주세요.
망치지 마세요.”
행운을 빌어요, 뭐.
- jack_h
몇 년 동안 나온 여러 비판이 떠오른다. 예를 들어 "C는 저수준 언어가 아니다: 당신의 컴퓨터는 빠른 PDP-11이 아니다" 같은 것들과, 지금 당장 기억나지 않는 다른 것들도 있다. 본질적으로 우리의 "저수준" 언어들은 70년대 이후로 별로 변하지 않은 추상 기계 위에서 돌아가도록 설계되어 있는데, 그것이 추상화하려는 실제 하드웨어는 엄청나게 정교해졌다. 간단한 예로, 컴파일러 인트린식으로 내려가거나 옵티마이저에 의존하지 않고 SIMD 지원 같은 단순한 기능을 갖춘 프로그래밍 언어가 얼마나 많은지 생각해 보라.
나는 이 아이디어에 대해 실험적인 DSL 임베딩을 몇 개 만들어 본 적이 있는데, 이 분야가 정말 흥미롭기 때문이다. Vx 문서를 훑어보니, 더 큰 유연성을 위해 추상 기계의 일부를 타입 시스템으로 옮기는 것 같다.
- yewenjie
왜 나한테 Vlang 느낌을 주는 거지
- png732
이게 Vx라고 이름 붙은 데에 어떤 배경이 있나? VxWorks OS와 너무 가까워서 좀 불편한데, 관련은 없어 보인다.