러스트
작은 행렬 연산 벤치마크 테스트(파이토치, 러스트)
최근 Rust언어로 작성된 Candle이라는 라이브러리에 관심을 가지며 파이토치와 Candle로 작성한 코드의 벤치를 간단하게 테스트 해보던 중에, 다음과 같은 요청을 받았다. 본인의 도메인에서는 작은 행렬을 연산하는 것이 일반적인데, 파이토치가 여기에 bad job이라고 한다. 실제로 확인하기 위해서 코드를 작성 후 테스트를 하였다 테스트 환경 CPU : AMD Eyzen Threadripper PRO 3955WX 16-cores GPU : A6000 python version: 3.11.5 pytorch version: 2.1.1 numpy version: 1.24 rust version: 1.74.0 candle version: 0.3.1 테스트 파이토치, CPU 3 x 3 행렬을 각각 1천만개씩 ..
러스트 멀티 스레드 구현 예제
23년에 찾아온 특이점 중 하나는 러스트 언어를 시작했다는 것이다 파이썬을 하면서 항상 GIL이 존재해서(물론 병렬 처리를 도와주는 라이브러리들이 많지만) 멀티스레드를 직접 사용하지 못했는데, 러스트 언어를 사용해 네이티브하게 멀티스레드를 사용해볼 수 있었다. 정말 안타깝게도 티스토리에서는 코드블럭에 러스트 언어에 대한 구현이 없어 하이라이트가 제대로 들어가지 않는 단점은 덤으로 알게 되었다. // 필요한 라이브러리와 모듈을 가져옵니다. use std::thread; use std::time::Instant; fn main() { // 데이터를 초기화합니다. let data1 = vec![999; 1000000000]; let data2 = vec![999; 250000000]; let data3 = v..