Skip to main content
QUICK REVIEW

[논문 리뷰] Computing the Mertens function on a GPU

Eugene Kuznetsov|arXiv (Cornell University)|2011. 07. 31.
Neural Networks and Applications참고 문헌 2인용 수 7
한 줄 요약

이 논문은 GPU 가속 알고리즘을 제안하여 Mertens 함수 $ M(x) $ 를 $ O(x^{2/3+\theta}) $ 시간에 계산한다. 이는 재귀적 합산 항등식과 병렬 배열 업데이트를 활용한다. $ x \approx 1.161 \times 10^{19} $ 에서 $ M(x)/x^{1/2} = -0.585768 $ 의 새로운 극단치를 보고하였으며, Mertens 추측의 반례가 없는 범위까지 $ \exp(10^{15}) $ 까지 검색을 연장하였다.

ABSTRACT

A GPU implementation of an algorithm to compute the Mertens function in O(x2/3+{\ko}) time is discussed. Results for x up to $10^{22}$, and a new extreme value for $M(x)/x^{1/2}$, -0.585768 ($M(x) \approx -1.996 \ast 10^9$ at $x \approx 1.161 \ast 10^{19}$), are reported.An approximate algorithm is used to examine values of M(x) for x up to $\exp{(10^{15})}$.

연구 동기 및 목표

  • GPU 병렬 처리를 활용하여 Mertens 함수 $ M(x) = \sum_{n=1}^x \mu(n) $, 여기서 $ \mu(n) $ 는 Möbius 함수임을 빠르게 계산하고자 한다.
  • 특히 Mertens 추측을 검증하기 위해 이전의 한계를 초월하여 $ x $ 의 범위를 확장하고자 한다.
  • 합산 항등식의 재귀적 구조를 활용하여 동시에 여러 값에 대해 $ M(x) $ 를 계산할 수 있는 확장 가능한 알고리즘을 개발하고자 한다.
  • 특히 $ x \gg \exp(10^{10}) $ 에서 $ M(x) $ 를 근사 분석하기 위해 필요한 고정밀 삼각함수 평가에서 발생하는 수치 정밀도 문제를 해결하고자 한다.

제안 방법

  • 항등식 $ M(n) = 1 - \sum_{x=2}^n M(\lfloor n/x \rfloor) $ 를 사용하여 $ \lfloor n/x \rfloor $ 의 값에 따라 항을 그룹화함으로써 고유한 항의 수를 $ O(\sqrt{n}) $ 으로 감소시킨다.
  • 이중 단계 접근법을 적용한다: (1) $ y \leq u $ 에 대해 CPU 기반 체를 이용하여 $ M(y) $ 를 계산하고, (2) $ u = O(n^{2/3+\theta}) $ 이며 $ x > 1 $ 인 경우 GPU 병렬 업데이트를 통해 $ M(\lfloor n/x \rfloor) $ 를 계산한다.
  • 부분 소수 곱을 8비트 정수에 저장하기 위해 로그 근사치를 적용하여 메모리 대역폭을 감소시키고 캐시 효율을 향상시킨다.
  • 비트 조작을 통해 제곱수를 포함하는 수(상위 비트가 설정된 수)를 표시하고, 누적된 로그-소수 곱의 부호와 크기를 이용하여 $ \mu(y) $ 를 계산한다.
  • 큰 $ n $ 에 대해 블록 단위 처리를 구현하며, 고정밀 상수 테이블을 블록 단위로 갱신하여 큰 $ x $ 에서 코사인 평가의 정확도를 유지한다.
  • 각 블록에 대해 $ b_i' = (b_i + z_i x_0) \mod 2\pi $ 의 이동된 기준 테이블을 사용하여 근사 분석에 사용되는 삼각함수 항의 정밀도를 유지한다.

실험 결과

연구 질문

  • RQ1GPU 병렬 처리를 활용하여 Mertens 함수를 대규모로 효율적으로 계산할 수 있는가?
  • RQ2현재까지 알려진 $ |M(x)/x^{1/2}| $ 의 최대값은 얼마이며, Mertens 추측에서 제시된 경계를 초과하는가?
  • RQ3수치 정밀도를 유지하면서 $ x \approx \exp(10^{15}) $ 까지 알고리즘이 확장 가능한가?
  • RQ4계산 범위 내에서 Mertens 추측 $ |M(n)| < n^{1/2} $ 의 반례가 있는가?

주요 결과

  • 알고리즘은 $ O(x^{2/3+\theta}) $ 시간 복잡도를 달성하였으며, $ x $ 가 $ 10^{22} $ 까지 $ M(x) $ 를 성공적으로 계산하였다.
  • 특정 값 $ x \approx 1.161 \times 10^{19} $ 에서 $ M(x)/x^{1/2} = -0.585768 $ 의 새로운 극단치를 발견하였으며, 이 때 $ M(x) \approx -1.996 \times 10^9 $ 였다.
  • $ \exp(10^{15}) $ 까지의 범위에서 Mertens 추측의 반례는 발견되지 않았으며, 이는 이전 검색 범위를 두 개의 지수 단위로 확장한 것이다.
  • Proxy 로서의 $ |q_{10^6}(x)| $ 의 최대 관측값은 $ x \approx \exp(5.0586 \times 10^{14}) $ 에서 $ 0.95652 $ 였다.
  • $ q_{10^6}(x) $ 의 극단치 분포는 대칭적이며, 큰 양수 또는 음수 값에서 부호 비대칭성의 증거는 없었다.
  • 고정밀도 블록 단위 상수 갱신이 $ \exp(10^{15}) $ 까지 정확한 코사인 평가를 가능하게 하여 GPU의 단정밀도 부동소수점 정밀도 손실 문제를 완화시켰다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.