brainpy/BrainPy
Brain Dynamics Programming in Python
해결하는 문제
BrainPy는 계산 신경과학 및 뇌 모방 컴퓨팅을 위한 범용 프로그래밍 프레임워크를 제공합니다. 이는 여러 규모에 걸친 신경 모델을 정의하는 어려움과, 네이티브 C 또는 CUDA 코드를 작성할 필요 없이 역학을 효율적으로 시뮬레이션, 학습 및 분석하는 문제를 해결합니다.
작동 원리
이 프레임워크는 JAX 및 XLA를 통한 Just-In-Time (JIT) 컴파일을 활용합니다. 이를 통해 Python으로 정의된 뇌 역학 모델이 CPU, GPU 및 TPU를 포함한 다양한 하드웨어에 최적화된 바이너리 명령으로 컴파일되어, 네이티브 C 또는 CUDA에 필적하는 성능을 달성합니다.
대상 사용자
복잡한 신경 모델을 구축하고 시뮬레이션하기 위해 유연하고 확장 가능한 도구가 필요한 계산 신경과학 연구자 및 뇌 모방 컴퓨팅 종사자를 위해 설계되었습니다.
주요 특징
- 하드웨어 가속: CPU, CUDA (12.x 및 13.x) 및 TPU 실행 지원.
- JIT 컴파일: Python으로 정의된 모델의 고성능 실행을 위해 JAX 및 XLA 사용.
- 통합 생태계: 뇌 역학의 구축, 시뮬레이션, 학습 및 분석을 위한 도구 포함.
- 확장 가능한 아키텍처: 사용자가 새로운 인프라, 유틸리티 및 머신러닝 방식을 쉽게 추가할 수 있도록 허용.
관련
- 프로젝트
NVIDIA/warpNVIDIA Warp는 주석이 달린 함수를 빠른 CUDA/CPU 커널로 JIT 컴파일하는 Python 라이브러리로, 물리 시뮬레이션 및 기하학 처리를 대상으로 합니다. 커널은 미분 가능하므로 PyTorch, JAX 등에서 사용할 수 있어 시뮬레이션의 엔드투엔드 학습을 가능하게 합니다. `pip install warp-lang`으로 설치하고, `@wp.kernel`로 커널을 작성하고, `wp.launch`로 실행하고, 결과를 NumPy 또는 텐서로 변환합니다. 저장소에는 많은 예제(입자, 유체, FEM, 레이마칭)가 포함되어 있으며 딥러닝 프레임워크와 통합됩니다.
- 프로젝트
Jittor/jittorJittor는 전체 계산 그래프를 JIT 컴파일하고 메타 연산자를 사용해 특정 모델에 최적화된 CUDA/C++ 커널을 생성하는 고성능 딥러닝 프레임워크입니다. PyTorch와 유사한 Python API를 제공하며, CPU 및 GPU 백엔드(CUDA, ROCm, Hygon)를 지원하고, 비전, 렌더링, 기하학적 학습, 강화학습을 위한 모델 라이브러리도 포함하고 있습니다.
- 프로젝트
m4rs-mt/ILGPU.NET 기반 언어로 작성된 고성능 GPU 프로그램을 위한 JIT 컴파일러로, C# 개발자가 네이티브 종속성 없이 CUDA와 유사한 성능의 코드를 작성할 수 있도록 합니다.
- 프로젝트
- 프로젝트
StanfordASL/fraxJAX의 JIT 컴파일과 자동 미분을 활용한 순수 Python 기반의 고속 운동학 및 동역학 라이브러리로, 고성능 로봇 컨트롤러 설계를 지원합니다.