GMP(GNU Multiple-Precision Library)는 임의의 크기를 가진 수치를 계산하기 위한 자유 소프트웨어라이브러리이다. GMP가 설치된 컴퓨터의 저장 장치가 가용한 한 이론상 무한한 정도의 계산이 가능하다. GMP 라이브러리는 풍부한 함수와 정규 인터페이스를 제공하고 있다. 기본 인터페이스는 C 프로그래밍 언어를 위하여 제공하며, 기타 다른 언어에 대해서는 래퍼(wrapper)를 통한 인터페이스를 제공한다. 인터페이스를 지원하는 언어로는 C++, OCaml, Perl, 그리고 파이썬 등이 있다. GMP는 암호화 애플리케이션, 인터넷 보안 애플리케이션 및 대수학 등에 사용하는 것이 주요 목적이다.
GMP는 그 어떤 큰 수 라이브러리보다 더 빠르게 만드려는 목표를 가지고 있다. 이 목표를 달성하기 위하여 다음과 같은 중요한 성공 요소를 고려하고 있다.
기본 숫자 형 데이터는 풀 워드를 사용
서로 다른 피 연산자의 크기에 따른 다른 알고리즘 채택 – 큰 수 처리 알고리즘이 작은 수 계산에 동시에 빠른 성능을 내는 경우가 거의 없기 때문이다.