The Benefits of Using Rigorously Tested                     Routines from Numerical Libraries                  By Rob Meye...
For more information including answers to more specific questions on thesuitability of the NAG Library algorithms to parti...
of encoding that algorithm in an           to choose between differentaccurate and stable numerical              hardware ...
hardware and software systemsof ramifications to the current              and still maintain the efficacy ofmigration from...
for seismology and astrophysics.Do they come to bear on otherareas of technical computing? Wellyes – they are already used...
dauntingly long and tricky to write         engineering support to some of theand can run into thousands of lines         ...
Readers of “The Benefits of Using Rigorously Tested Routines fromNumerical Libraries—Computer Science Edition” may also be...
Upcoming SlideShare
Loading in...5

SuperComputer Whitepaper Benefits Library approach


Published on

The Benefits of Using Rigorously Tested Routines from Numerical Libraries-- Computer Science Edition", written by the CEO of the worldwide Numerical Algorithms Group, a unique not-for-profit organization at the cutting edge of computer science .

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

SuperComputer Whitepaper Benefits Library approach

  1. 1. The Benefits of Using Rigorously Tested Routines from Numerical Libraries By Rob Meyer, Numerical Algorithms GroupExecutive Summary—This white paper –“The Benefits of UsingRigorously Tested Routines from Numerical Libraries—ComputerScience Edition” speaks to matters affecting computationally-intensiveapplication development. To the extent that software engineers and ITspecialists’ work involves significant numerical computation, it is timely to re-examine how computational frameworks are or are not designed for maximumperformance.Although many have long relied on pre-packaged software for many routinetasks, new areas of research have often outpaced these pre-packagedofferings. Concomitantly, whether realized or not, nearly every business isworking in a computational infrastructure that employs multicore processorsthat significantly SLOW performance of legacy applications originallydeveloped for single processor computing environments.Performance gains today, by and large, are no longer accessible throughhardware upgrades—the historic path taken by commercial enterprises of allkinds through the decades. Now we have entered a period where investmentin software, not hardware, may matter more and a re-examination of thecomputational infrastructure at work is extremely relevant.“The Benefits of Using Rigorously Tested Routines from NumericalLibraries—Computer Science Edition” will provide a framework forunderstanding how commercially available numerical libraries can be apowerful tool to manage today’s IT and software development challenges,including discussion of:-commercially available numerical libraries vs. numerical code developed in-house-commercially available numerical libraries vs. open source code-quality control— validation and testing issues-future-proofing— costs of migrating to newer computational platforms suchas GPU or HPC environments-future proofing—the value of library documentation vis-à-vis an application’sentire lifecycle and the given of staff turnover-tips on real-world trials to determine ability of numerical libraries to speedapplication development
  2. 2. For more information including answers to more specific questions on thesuitability of the NAG Library algorithms to particular research areas, contactDavid Cassell, NAG Library Specialist, at -----------How would you feel if, after latest hardware because they aredevoting weeks or months to using applications coded for use onapplication development, you found a single processor when the newthat your application produced hardware is equipped with aincorrect or unreliable results? multicore chip. Counter-intuitively, hardware that could potentiallyThe use of rigorously tested speed processing time by orders ofroutines from numerical libraries magnitude may be responsible forhas long been a proven way to significantly slowing down manyspeed application development and applications. These organizationsperformance. Recent then experience significant bottomdevelopments in processor design line impact without realizing whyand computational science this is occurring. The issue forsuggests that their use should which they are unprepared is thatbecome even more widespread. programming a multicore computerThis is because very few is more complex than softwareapplication developers have the development on a single processorexpertise or time to assess and system.understand the implications of therapidly evolving computing Numerical libraries have alwaysinfrastructure on their work. As a been the preferred mechanism byconsequence, they may not obtain which sophisticated technicalthe best runtime performance or application developers couldconsistent accuracy from their readily incorporate mathematicalcodes. and statistical functionality within their applications. Today theseWe have entered a period where libraries offer a new opportunity toinvestment in software, not organizations in that they provide ahardware, matters most. convenient way to access the true power of multicore systems.The advent of multicore processorsis responsible for this. Traditionally Why is this so?performance improvements werelargely attributable to the use of Custom developed numerical code,faster clocked processors. for use in a specific application, canHowever in the multicore be incredibly time consuming toenvironment the clock speed of produce and also the most costlyeach core is now slower and hence strategy in the long term. Suchapplication performance will code may take a long time todecrease unless more than one develop because of thecore can be utilized. Many complexities of designing the best-organizations may therefore notice match algorithmic approachdegradation in application appropriate to the solution of theperformance when they deploy the specific problem and the difficulty
  3. 3. of encoding that algorithm in an to choose between differentaccurate and stable numerical hardware platforms andmanner. Then, the very fact that it programming languages to bestis being written for one current take advantage of the particularapplication suggests that the characteristics of hardware anddevelopers may not consider the software available but still havepossibility of extended numerical confidence in any results produced.requirements and therefore maynot include the flexibility and The individual numerical methodsdocumentation vital to enable the used in diverse fields such asnext advance for the product or the modelling, research, analytics,next development project. design, exploration, financial engineering and productIt can be argued that free development must constantlyalgorithms, available from the evolve as well. This is becauseInternet, can provide an alternative new, more reliable algorithms thatto commercially available numerical are efficient generally or on specificlibraries. Unfortunately support, hardware configurations are constantly being developed. Indeed some routines that were considered state-of-the-art only a few years ago are thought to be very inefficient by today’s standards. Developers of numerical libraries are constantly striving, throughmaintenance and rigorous testing algorithmicof these sources is at best innovations, to provide problem-unpredictable and therefore the solving software that is appropriate,user of such software is, perhaps efficient and robust on the wideunwittingly, risking the long term range of computing platforms usedviability of their application. The risk at the time by the technicalincurred may be acceptable, in the computing community. In this wayshort term, for non-critical their work continually replenishesapplications but as new computing the contents of numerical librariesarchitectures emerge this risk with new material and improvedincreases significantly and may techniques and makes theseprevent optimal, or any, use of the libraries available on the hardwarecode in the longer term. of choice.This latter point is important as, at Going forward a few years anotherany given point in time, multiple widespread shift in the normaldiffering computing environments technical computing architecture iscan be utilized by a single widely predicted. This shift willorganization. They want to be free have a similar range
  4. 4. hardware and software systemsof ramifications to the current and still maintain the efficacy ofmigration from single to multicore, their legacy code, and the manynamely the move to manycore 1 or thousands of “person-hours” that itGPU 2 computing. This scenario embodies, as they move forward.vividly illustrates the major problemfaced by organizations – Another advantage of selectinginvestment in development of algorithms from comprehensivespecialist code for a specific numerical libraries is that whencomputing architecture may have a developers require access to ashort lifespan before it is obsolete. different technique it may wellIn this changing environment most already be available in a tried andorganizations ought not to try to tested form that they can rely on.justify such a cost when there are This is because numerical libraryoff-the-shelf alternatives produced developers are often assistingby numerical software specialists. researchers at the cutting edge, developing methods applicable toThe combination of the above one area of research but that, overfactors put organizations that use time, may well be applicable in thethe tried and tested algorithms from wider spheres of science,commercial numerical libraries as engineering and businessthe building blocks of their analytics.applications, at a competitiveadvantage. Developers can more Consider as an example thereadily migrate codes to new inclusion, in a release of the Numerical Algorithms Group (NAG)1 A manycore processor is one in which Library, of functions for waveletthe number of cores is large enough that transforms. Wavelet techniques 3traditional multi-processor techniques are are used in image processing andno longer efficient. It is the generationbeyond multicore.2 3 A GPU is a Graphical Processing Unit.General Purpose GPUs are well suited for some numerical algorithms. l22/xhtml/C09/c09conts.xml#C09
  5. 5. for seismology and astrophysics.Do they come to bear on otherareas of technical computing? Wellyes – they are already used in thefinance industry. Such cross-fertilization from one engineering orscience discipline to another is awell-established pattern of howbreakthroughs occur.The extent to which numericlibraries provide extensivedocumentation also confers acompetitive advantage to users ofthese libraries, especially when one provide a simple mechanism byconsiders the full lifecycle of the which this can be achieved. Fortechnical application being example, the NAG Librarydeveloped. For example, there are documentation employs a decisionoften numerous ways that, tree structure, a tool familiar tosuperficially, appear to give a computing professionals, todeveloper some means to solve a establish the precise definition of the problem to be solved. This leads the user to routines most appropriate to the actual problem. In some areas of numerical computation, though, it is not possible to identify just one method that is most suitable for the solution of a problem. In these areas the best solution is arrived at via an iterative process whereby different techniques are applied to the problem and the best selected from the experimental evidence. Having access to a range of algorithmic techniques, using similar interfaces, to enable thisparticular problem. In practice not experimentation can therefore beall of these potential approaches critical. The best numerical librariesare effective, accurate or efficient provide these facilities to cater towhen applied to a specific problem. this development paradigm.The ability to select an appropriatealgorithm for the task in hand is Finally, of course, the quality of thetherefore vital if the developer and routines provided by a commercialhis organization wants timely numerical library remainsresults that can be relied upon. The paramount. As an example, a gooddetailed and refined documentation quality local optimization code,associated with well-established especially one that enablescommercial numerical libraries constraints on the variables, is
  6. 6. dauntingly long and tricky to write engineering support to some of theand can run into thousands of lines world’s leading high performanceof code. If that were a custom computing centres.source then the initial developmentconstitutes only a small part of the Researchers worldwide,overall cost. Other factors, such as collaborating with the NAGtesting, error correction and technical team, help providegeneral support, which can be regular updates and in-depthguaranteed when using a support for the NAG Library. Thiscommercial offering, must also be activity provides valuable insighttaken into account. into emerging requirements for new research in computer science andOne highly regarded library, the numerical methods. The result isNAG library 4, is continuously one of the world’s most reliablemaintained and expanded by the collections of numerical algorithms,Numerical Algorithms Group including well over 1600 user-(NAG). The Numerical Algorithms callable functions.Group (NAG,, is anot-for-profit numerical software General purpose numericaldevelopment organization, with libraries, such as the NAG Library,offices around the world, founded contain proven routines thatfour decades ago that collaborates provide access to unrivalledwith world-leading researchers and functionality covering a broadpractitioners in academia and spectrum of numerical andindustry to, among other projects, statistical methods on a wide rangecreate a rigorously tested set of of computing platforms. Users canmathematical and statistical readily utilize these techniquesroutines. from their own programs and have complete confidence in the resultsThe routines in the NAG Library returned enabling them to speedilycan be called from a wide range of develop sophisticated applications.programming languages and arerelied on by those working in C++, It is a straightforward task forC#, F#, FORTRAN, MATLAB, R, organizations to investigate theMaple and other environments. potential benefits offered byNAG routines are also tuned for reputable numerical libraries. Foruse on multicore and parallel example, the mathematical andsystems by employing standard statistical library of the Numericalconforming techniques in order to Algorithms Group can be used on aprovide high performance while still trial basis. Simply get in touch withmaintaining the best algorithmic NAGaccuracy and stability. In addition, (’s wealth of knowledge in the p) to find out which components ofhigh performance arena is the NAG library will most help yourrecognized by the fact that it is work.contracted to providecomputational science and4
  7. 7. Readers of “The Benefits of Using Rigorously Tested Routines fromNumerical Libraries—Computer Science Edition” may also be interestedin the following case studies:Parallel algorithms at Queens University, Ontario - Why the NAG Library forSMP & Multicore? HECToR dCSE Team Quadruple Performance of Quantum Monte-Carlo Application - CASINO develop an application for forecasting from NAG routines - CACI findsit easy Associates use the NAG Library for data analysis when guiding hundredsof millions of dollars of marketing expenditure Meyer is CEO of the worldwide Numerical Algorithms Group( The Numerical Algorithms Group (NAG,, is aworldwide not-for-profit numerical software development organization foundedfour decades ago that collaborates with world-leading researchers andpractitioners in academia and industry. With offices in Manchester, Chicago,Tokyo and Taipei, and a worldwide distributor network, NAG provides high-quality computational software and high performance computing services totens of thousands of users, from Global 500 companies, major learningacademies, the world’s leading supercomputing centers, numerousindependent software vendors and many others.