수치 적 PDE에서 고정밀 부동 소수점 산술


9

나는 매우 다른 자원들과 연구들과의 대화에서 수치 부분 미분 방정식에서 고정밀 계산에 대한 수요가 증가하고 있다는 인상을 받았습니다. 여기서 높은 정밀도는 표준 64 비트 배정도보다 더 높은 정밀도를 의미합니다.

이 주제의 최신 기술이 궁금합니다. 비교를 위해, 예를 들어, 멀티 코어 방법, 대규모 병렬화 또는 GPU 컴퓨팅을 목표로하는 수치 적 PDE에는 통신이있다. 나는 비슷한 공동체가 존재하는지 또는 수치 적 PDE에서 고정밀 방법을 위해 성장하고 있는지 궁금해하며, 고정밀에 대한 입문 또는 설문 조사 논문에 특히 관심을 가질 것입니다 (그리고 이것이 실제 질문입니다). 주제의 실제 관련성.

답변:


16

연속체 PDE의 이산화는 일반적으로 유한 정밀도보다 훨씬 더 많은 오류를 발생시킵니다. 나는 더 높은 정밀도를 요구하는 사람들의 약 90 %가 문제 공식화에 게으른 게 있고 스케일링이 나쁘고, 불연속 화나 연속체 모델링이 잘못되어 문제를 해결하려고 노력하고 있음을 알게되었습니다. 나머지 10 %는 정밀도가 향상되는 정당한 조건의 시스템을 가지고있을 수 있습니다. 이러한 경우에도, 우리는 주로 쿼드 정밀도를 디버깅 도구 (특히 유한 차분 된 Frechet 파생물을 사용하는 방법과 관련하여 "스퓨리어스"숫자 널 공백의 원인을 조사하기 위해)로 사용하거나 생산을위한 대규모.

GCC는 __float1284.6 이후 버전 을 제공 하므로 시도하기가 매우 쉽습니다. PETSc는 --with-precision=__float1283.2 버전부터 지원 되어 재 컴파일 문제 일뿐입니다.


권리. 그리고 포트란은 dp = 16 (gfortran의 경우)을 설정하여 쿼드 정밀도를 얻을 수있는 real (dp)을 가지고 있기 때문에 시도하기도 매우 쉽다.
Ondřej Čertík

9

우리가 거래 형태로 FEM 소프트웨어를 제공 한 15 년 동안 II 프로젝트 (http://www.dealii.org/)는 PDE를 해결하기 위해 진정으로 요청한 적이 없다고 생각합니다. 배정 밀도보다 높은 정확도. Jed가 다른 답변에서 제안한 이유는 PDE를 이산화시키는 오류가 배정 밀도 부동 소수점 산술에서 얻는 16 자리 정확도보다 훨씬 큽니다. 따라서 전체 오차에 영향을 미치기 위해 산술의 정확도가 더 높아야하는 지점에 도달하려면 엄청나게 미세한 메시가 있어야합니다.

실제로 반대는 사실이라고 생각합니다. 사람들은 예를 들어 단일 정밀도를 사용하여 매트릭스 또는 전제 조건 요소를 저장할 때 발생하는 일에 대해 생각하고 작업합니다. 일반적으로 이는 정확도를 크게 떨어 뜨리지는 않지만 메모리에서 프로세서로 보내는 데이터의 절반에 불과하기 때문에 성능을 약 2 배 향상시킵니다.

따라서 제 생각에는 쿼드 정밀도 (또는 그 이상)는 ODE 솔버 커뮤니티와 관련이있을 수 있지만 PDE 커뮤니티와는 관련이없는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.