Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 에러기록
- Dear abby
- 딥러닝
- Zotero
- Linear algebra
- obsidian
- 옵시디언
- Statics
- 생산성
- JAX
- 텝스
- WOX
- 수치해석
- 고체역학
- Numerical Analysis
- Python
- 논문작성법
- Julia
- 수식삽입
- LaTeX
- pytorch
- teps
- matplotlib
- 인공지능
- IEEE
- 우분투
- 텝스공부
- ChatGPT
- MATLAB
- 논문작성
Archives
- Today
- Total
뛰는 놈 위에 나는 공대생
NVIDIA warp 소개 본문
최근 differentiable simulation / graphics가 연구가 되고 있다.
특히 GPU 존재 자체가 그래픽의 빠른 연산을 위해 나온 것이기 때문에 NVIDIA에서도 관심이 많은데
파이썬 기반의 고성능 GPU 시뮬레이션을 가능하게 하는 라이브러리 warp를 배포하고 있다.
https://github.com/nvidia/warp
1. 설치
설치 방법은 위의 github에 나온대로 진행한다.
pip install warp-lang
기본적으로 GPU가 있고, NVIDIA Driver 및 CUDA 모두 설치가 다 되어있어야 한다.
설치 후에는 파이썬에서 다음 코드를 작성하고 잘 작동하는지 보면 된다.
import warp as wp
import numpy as np
wp.init()
num_points = 1024
@wp.kernel
def length(points: wp.array(dtype=wp.vec3),
lengths: wp.array(dtype=float)):
# thread index
tid = wp.tid()
# compute distance of each point from origin
lengths[tid] = wp.length(points[tid])
# allocate an array of 3d points
points = wp.array(np.random.rand(num_points, 3), dtype=wp.vec3)
lengths = wp.zeros(num_points, dtype=float)
# launch kernel
wp.launch(kernel=length,
dim=len(points),
inputs=[points, lengths])
print(lengths)
설치가 잘 되면 다음과 같이 나온다.
Warp 1.0.2 initialized:
CUDA Toolkit 11.5, Driver 12.2
Devices:
"cpu" : "x86_64"
"cuda:0" : "NVIDIA RTX 6000 Ada Generation" (47 GiB, sm_89, mempool enabled)
"cuda:1" : "NVIDIA RTX 6000 Ada Generation" (48 GiB, sm_89, mempool enabled)
"cuda:2" : "NVIDIA RTX 6000 Ada Generation" (48 GiB, sm_89, mempool enabled)
CUDA peer access:
Supported fully (all-directional)
Kernel cache:
/home/user/.cache/warp/1.0.2
Module __main__ load on device 'cuda:0' took 188.29 ms
[1.0719502 0.8535018 1.3236377 ... 1.1255112 1.1754484 0.8575004]
2. example test
warp에 있는 여러가지 예제가 있다.
터미널에서 다음을 입력하면 되는데,
python -m warp.examples.<example_subdir>.<example>
다음 examples 폴더에서 찾아서
python -m warp.examples.sim.example_cartpole
다음과 같이 example_cartpole.py를 실행시킬 수 있다.
3. usd 파일 확인 방법
usd 파일은 blender나 pixar의 usd viewer가 있는데 NVIDIA의 omniverse 설치 후
usd viewer
'연구 Research' 카테고리의 다른 글
Sampling algorithm 관계 정리 및 요약 (0) | 2024.03.23 |
---|
Comments