Hacker News 의견
  • Raspberry-PI V로 Lattice Certus-Pro NX "Versa" 보드의 PCIe 인터페이스를 테스트해 봄, 정말 편리함을 느낌 Raspberry-PI V가 최신 데스크탑 소프트웨어(Microsoft Teams까지!)를 구동할 만큼 빠름 FPGA 디자인을 라이브로 데모하고 컨퍼런스 콜 중 데스크탑 화면을 공유할 수 있었음 Broadcom의 SoC 문서화가 부족한 점만 아쉬움 Intel은 NDA를 거치면 모든 칩 문서를 제공해 줘서 Xeon Ivy Bridge에서 멋진 FPGA PCIe 환경을 구현할 수 있었음 PCI 구성 레지스터를 저장한 뒤 FPGA를 재구성하고 다시 레지스터를 프로그래밍하면 서버를 리부팅하거나 재검색(re-enumerate) 없이 칩이 버스에 나타나서 매우 편했음 비결은 재구성 중에 루트 컴플렉스 비트를 임시로 설정해서 PCIe 에러 감지를 비활성화하는 것임 (그 당시 Altera Stratix-IIgx를 사용했음) 또 다른 방법도 있을 것 같으니 참고 자료를 남김: Stack Overflow 링크 전체적으로 문서화가 잘 되어 있으면 PCIe 시작 과정에서 에러 리포팅이 매우 유용함

    • 정말 멋진 트릭임을 느낌 내 경우 Linux에서 PCIe 설정을 만지다가 여러 번 이슈를 겪었음 우리는 결국 Partial Reconfiguration을 사용해서 PCIe 부분은 그대로 두고 다른 부분만 다시 로드하는 방식으로 해결함 레이아웃 및 공간 예약 측면에서 분명히 트레이드오프가 있었음
  • FT2232H 어댑터를 갖고 있다면(혹은 없다면 하나 구입 추천), 이 어댑터는 Vivado와 쉽게 호환되도록 플래시할 수 있음 참고: Vivado FTDI Device Programming 가이드

    • 우리 회사에서는 FT2232H를 항상 20-30개 재고로 보유 중임 GPIO, I2C, SPI, parallel FIFO 등 다양한 프로토콜 지원이라서 정말 유용함 그리고 pyFTDI Python 라이브러리가 뛰어남

    • 이 어댑터가 다른 프로젝트에서 남아있는데, FPGA 작업은 해본 적이 없음 Vivado와 호환된다는 게 실제로 어떤 의미인지 궁금함 AMD FPGA 구성이 가능한 건가, 아니면 다른 의미가 있는지 질문임

  • Alibaba가 데이터베이스 분야에서 FPGA 클러스터로 LSM compaction을 커스텀 MySQL 스토리지 엔진으로 처리했던 혁신적인 사례가 떠오름 참고: 관련 논문 PDF RocksDB 대비 처리량과 지연 시간이 대폭 향상되었고, 일부 작업에선 한 단계 높았음 이 기술을 서비스로 제공하기도 했지만, 결국 철수함 아직도 자체 활용 여부는 모르겠지만, 반복적인 데이터베이스 작업에 하드웨어 가속을 활용하는 곳이 거의 없다는 점이 놀라웠음

    • AWS도 몇년 전 Redshift에서 자체 하드웨어 쿼리 가속기를 사용함 참고: Redshift AQUA 소개 최근에는 AWS가 P&L에 좀 더 집중하고 있어서 주목도나 성능 향상 효과는 잘 모르겠음
  • FPGA PCIe 혹은 PCI 카드에 관심있다면 중고 Gidel 보드도 상당히 많이 있음 ProcSpark/ProcStar 등 다양한 시리즈 존재 공식 소프트웨어는 프로프라이어터리이고, FPGA가 여러 개라서 Quartus에서 바로 쓰려면 핀아웃 찾는 과정이 필요함 나는 거대한 Stratix IV가 장착된 보드를 하나 얻었음 Kintel UltraScale+ 보드는 정말 탐나는 수준이라 이 글이 무척 인상적임

    • Gidel의 HawkEye 20G-48에 대한 최고 레벨 Verilog 모듈과 Vivado .xdc 파일(핀맵, 타이밍 제약 등)을 입수함 Gidel의 SDK는 없었음 내 장기 과제로 2대를 10 GbE로 연결해서 PCIe TLP 스니퍼/미들맨/디바이스 에뮬레이터를 만드는 것이 있음 남은 10 GbE 포트는 호스트 PC로 스니핑 및 인젝션된 TLP 전송용으로 사용 Aria 10 FPGA PCIe hard IP는 root 또는 endpoint 모드 모두 가능해서, Quartus IP 모듈 없이 완전히 투명하게 해야 함 10기가 링크로 빠른 디바이스의 PCIe TLP를 넘기는 게 어떤 느낌일지는 모르겠지만, fail0verflow는 115200 baud UART로 TLP 프록시도 성공함 Gidel HawkEye 20G-48 참고 링크 fail0verflow 발표자료
  • 중국에 있다면 같은 제품이 idlefish에서 480위안(약 68달러)에 판매되고 있음 믿기 어려울 정도로 저렴해서 직접 시도해 볼 예정임

  • 아직 뒷면 SFP 커넥터의 핀아웃 정보를 알아냈는지 모르겠음 만약 이 부분이 문서화되고 PCI-e 라인도 확인된다면, 이걸로 커스텀 광 네트워크 장비를 만들어보는 것도 재미있겠다는 생각이 듦 SFP 트랜시버는 입력만 넣어주면 그대로 출력하므로, PCIe 백플레인이나 단독으로도 흥미로운 커스텀 광 신호 장치 제작이 가능함

    • SFP 커넥터 핀아웃 정보는 핀아웃 섹션에 이미 있음
  • FPGAs로 신경망이나 다른 connectionist 아키텍처 구현한 예시 아시는 분 있나요? FPGAs의 가장 흥미로운 점은 "커스텀" 칩을 대학이나 개인도 감당할 수 있다는 점임 AI가 LLM 위주로 쏠려 있는 시점에, 작은 그룹/개인이 FPGAs로 동물 지향적인 bottom-up 인공지능 접근을 실험해볼 기회가 있다고 생각함

    • FNAL에서는 LHC/CMS 고에너지 물리 실험 결과의 추론 작업에 FPGA 기반 신경망을 사용함 마이크로초 단위로 동적 시스템을 제어하는 사례도 있음 참고 자료들: HLS4ML CERN IRIS-HEP 발표자료 PDF Deploying tinyML on FPGAs Whitepaper NeurIPS ML4PhysicalSciences 사례 PDF

    • "FPGAs로 신경망 구현"이란 게 하드웨어 가속기로 추론 용도인지, 아니면 네트워크 전체(가중치까지)를 직접 FPGA 아키텍처로 합성한다는 의미인지 궁금함 어떤 경우든, FPGA가 완전히 임의의 논리를 구현할 수는 없고, 제한된 블록을 소프트웨어 합성 결과로 활용하는 구조임 LLM처럼 고용량 고대역폭 메모리가 필요한 경우에는 적합하지 않음 FPGA에 고속 메모리 연결이 가능하긴 해도, 오늘날 GPU가 해당 용도에 훨씬 더 뛰어남

    • differentiable logic gate networks를 확인해 보면 흥미로움

    • 참고 논문: arXiv:2404.10076

    • 왜 다운보트가 많은지 궁금함 내 이해로 AI는 모델에 많은 램과 빠른 램이 필요하므로 FPGA가 적합하지 않음 FPGA에는 빠른 램을 연결할 수 있는 핀이 있지만, 보드 설계나 레이어 트레이스가 매우 복잡해짐 그래서 그래픽카드가 훨씬 적합함

  • 이 AI 열풍을 보면 개인적으로 이런 생각이 듦

    • 장기적으로 추론 하드웨어는 크게 진입장벽이 없을 것 같음(트레이닝 쪽은 잘 모르겠음)
    • 모델 자체는 쉽게 대체 가능한 커머더티임
    • 제품 출시 속도는 예상보다 늦음, ChatGPT 출시 후 3년이 지났는데 아직 원하는 서비스를 찾지 못함(문서 업로드 후 질의응답)
    • 문서 업로드 후 질문이 가능하다는 게 어떤 의미인지 궁금함 Gemini의 NotebookLM이나 Gem처럼 해당 기능을 지원하는 서비스가 이미 있지 않나 생각임 (다른 업체의 대안은 잘 모름)
  • 아직도 eBay에 많은 재고가 있음 eBay 링크 GPIO가 헤더 등으로 뽑혀있지 않은 것 같은데, 사용하기 좋은 프로젝트 아이디어 있으면 추천 부탁

    • 정말 좋은 소식임 코비드 시기 동안 이런 저가 하드웨어가 완전히 사라졌었는데, 이제 200달러에 Kintex를 다시 구할 수 있게 됨 어릴 때 이런 카드에 무척 관심이 많았고, 2x SFP와 PCIe는 NetFPGA 프로젝트가 생각남 이 카드는 해당 용도로 완벽함
  • "보드에 여행용 케이스가 딸려옴"이라는 점이 인상적임 왜 그런지 궁금함, 데이터센터에서 이 보드를 자주 빼서 이동시키나? 아니면 eBay 판매자가 보호용으로 넣은 건가 궁금함

    • 현장(Field)으로 가져오라고 넣어둔 것임 왜냐하면 Field Programmable Gate Array, 즉 현장에서 프로그래머블하기 때문임(농담)