The original version of the NAG Library was written in
ALGOL 60 and
Fortran. It contained 98 user-callable routines, and was released for the
International Computers Limited (ICL)
1906A and
1906S machines on October 1, 1971. Three further Marks of the library appeared in the following five years; during this time the
ALGOL version was ported to ALGOL 68, with the following platforms being supported:
CDC 7600/
CYBER (
CDC ALGOL 68),
IBM 360/370/AMDAHL (
FLACC ALGOL 68),
ICL 1900 (
ALGOL 68R), ICL 1906A/S (
ALGOL 68R), ICL 2900 (
ALGOL 68RS) and
Telefunken TR440 (
ALGOL 68C). The first partially
vectorized implementation of the NAG Fortran Library for the
Cray-1 was released in 1983, while the first release of the NAG Parallel Library (which was specially designed for
distributed memory parallel computer architectures) was in the early 1990s. Mark 1 of the NAG C Library was released in 1990. In 1992, the Library incorporated
LAPACK routines for the first time; NAG had been a collaborator in the LAPACK project since 1987. The first release of the NAG Library for SMP & Multicore, which takes advantage of the
shared memory parallelism of
Symmetric Multi-Processors (SMP) and
multicore processors, appeared in 1997 for multiprocessor machines built using the
Dec Alpha and
SPARC architectures. The NAG Library for .NET, which is a
CLI DLL assembly containing methods and objects that give
Common Language Infrastructure (CLI) users access to NAG algorithms, was first released in 2010. == Current version ==