rav1e의 한 달 - 2월
지난 달에 일어난 일에 대한 간략한 요약입니다. 매달 요약글을 쓰도록 노력하겠습니다.
2월 요약
우리는 인코딩 속도를 개선하기 위해 많은 노력을 기울였습니다. 여정의 일부 세부 정보를 읽을 수 있습니다.
따라서 평균 스레드 사용량을 개선하고 속도와 대기 시간을 모두 개선합니다.
, 품질 대 속도 영향을 측정하고 그에 따라 다시 조정하십시오.
The benchmarks are prepared using speed-levels-rs.
The encoder is using the following settings:
--threads 16 --tiles 16 -l 100 <file> -o <encoded> -s <level>
The source file is Bosphorus from the ultravideo test sequences, the 1080p 10bit version is the 4k 10bit version scaled down, since it is not available on the website.
전반적으로 우리의 aarch64 지원은 상당히 좋아지고 있지만 8비트에는 여전히 개선의 여지가 많이 있습니다.
반면에 x86_64에는 아직 사용할 수 없는 10비트 최적화가 있습니다. SIMD 적용 범위를 개선하는 데 도움을 주시면 대단히 환영합니다 :)
더 깊이 파고들다
x86_64
예상대로
p20210209
와 p20210216
사이에 발생한 메모리 레이아웃 최적화는 속도 0과 1에 가장 큰 영향을 미쳤으며 임시 rdo lookahead 계산을 최적화하고 조정하면 속도 수준 9와 10에 가장 큰 영향을 미쳤습니다.속도 수준
p20210209
p20210216
p20210223
0
x1.23
x1.29
x1.30
1
x1.20
x1.24
x1.33
2
x1.08
x1.11
x1.22
삼
x1.04
x1.07
x1.25
4
x1.04
x1.06
x1.24
5
x1.05
x1.07
x1.27
6
x1.04
x1.05
x1.37
7
x1.03
x1.06
x1.36
8
x1.04
x1.06
x1.39
9
x1.00
x1.02
x1.52
10
x1.00
x1.01
x1.94
x86_64
10비트 인코딩도 유사하게 작동합니다. 그것에 대한 우리의 SIMD 지원은 1월에 large boost을 받았으며 3월에 이를 더욱 개선하기 위한 지속적인 노력이 있습니다.속도 수준
p20210209
p20210216
p20210223
0
x1.12
x1.12
x1.17
1
x1.10
x1.11
x1.26
2
x1.04
x1.04
x1.23
삼
x1.00
x1.02
x1.28
4
x1.01
x1.02
x1.27
5
x1.02
x1.02
x1.29
6
x1.00
x1.01
x1.37
7
x1.01
x1.01
x1.37
8
x1.00
x1.01
x1.38
9
x0.99
x1.00
x1.50
10
x0.99
x1.00
x1.95
아크64
aarch64에 대한 최적화의 영향은 속도 10에서 상대적으로 상당히 크게 향상되어 더욱 급진적이었습니다.
속도 수준
p20210209
p20210216
p20210223
0
x1.14
x1.15
x1.31
1
x1.11
x1.10
x1.59
2
x1.03
x1.03
x1.63
삼
x1.03
x1.01
x1.76
4
x1.01
x1.01
x1.77
5
x1.02
x1.01
x1.88
6
x1.02
x1.00
x2.07
7
x1.01
x1.00
x2.07
8
x1.02
x1.00
x2.10
9
x1.00
x0.99
x2.45
10
x1.01
x0.98
x4.75
10비트 부스트는 극단적이지는 않지만 여전히 상당합니다.
속도 수준
p20210209
p20210216
p20210223
0
x1.13
x1.17
x1.30
1
x1.08
x1.11
x1.54
2
x1.02
x1.05
x1.57
삼
x1.00
x1.03
x1.66
4
x1.00
x1.02
x1.67
5
x1.00
x1.03
x1.74
6
x1.00
x1.02
x1.87
7
x1.00
x1.03
x1.87
8
x1.00
x1.02
x1.89
9
x0.99
x1.01
x2.12
10
x0.98
x1.02
x2.96
동작에 큰 차이가 있는지 확인하기 위해 몇 가지 다른 aarch64 시스템에서 테스트했습니다.
Apple M1은 상당히 다르지만 제가 기대하는 것입니다. 아마도 다른 블로그 게시물에서 그것에 대해 조금 더 이야기 할 것입니다.
다음에 온다
우리는 이미 x86_64 및 aarch64 모두에 대해 추가 SIMD를 확보했으며 segment selection 개선 작업을 시작했으며 eventually 전체 대기 시간에 많은 영향을 미치지 않으면서 더 나은 스레드 풀 사용을 제공하는 내부 아키텍처를 생각해 냈습니다.
3월은 흥미진진할 것입니다.
Reference
이 문제에 관하여(rav1e의 한 달 - 2월), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/luzero/a-month-in-rav1e-february-3cfm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)