Download presentation
Presentation is loading. Please wait.
Published byMelina Grant Modified over 9 years ago
1
Numerical Libraries Project Microsoft Incubation Group Mary Beth Hribar Microsoft Corporation CSCAPES Workshop June 10, 2008 Copyright Microsoft Corporation, All Rights Reserved
2
Microsoft Incubation Group John Manferdelli OS, Resource Management Security, Partitioning, Virtualization Application & Libraries Incubation Group Craig Mundie Steve BallmerBill Gates Microsoft Research Research Organization Copyright Microsoft Corporation, All Rights Reserved
3
Many-Core Collaboration Microsoft effort to realize the performance of many-core architectures in their products Widespread internal and external projects to produce complete parallel programming software solution to customers Copyright Microsoft Corporation, All Rights Reserved
4
Many-Core Software Solution Programming Models and Languages Domain Libraries Applications Runtime, Platform and Operating System Copyright Microsoft Corporation, All Rights Reserved
5
Numerical Libraries Project Project in Incubation Group starting Jan, 2008 Investigate numerical libraries for single node many-core architectures – Develop an initial parallel numerical library specifically for Microsoft platforms – Demonstrate use of library in parallel applications – Contribute to adoption of Microsoft platforms on future many-core and HPC architectures Copyright Microsoft Corporation, All Rights Reserved
6
Tasks Investigate small set of functionality Implement routines for Microsoft platform Consider design of interfaces Analyze performance Copyright Microsoft Corporation, All Rights Reserved
7
Functional Areas Investigate “core” math functions Initially target dense and sparse linear algebra Will be looking at other areas – Graph algorithms – Random number generators – FFTs Applications drive priority of routines to implement Copyright Microsoft Corporation, All Rights Reserved
8
Implementation Implement libraries for Microsoft platforms Write versions for native and managed code – Native: C++ – Managed: C# Evaluate parallel programming models Copyright Microsoft Corporation, All Rights Reserved
9
Interfaces Investigate the design of managed code interfaces – “Expert” interfaces allow users to access all algorithmic and performance parameters – “Productivity” interfaces allow users to ignore low level details Copyright Microsoft Corporation, All Rights Reserved
10
Performance Analyze performance of library routines – Scaling performance of algorithms – Performance of native vs. managed code – Performance of programming models Demonstrate performance of libraries in applications Copyright Microsoft Corporation, All Rights Reserved
11
Challenges Scalable performance on range of many-core architectures – Varying number of cores, memory bandwidth, layout, etc. – Successive generations of hardware – Small and large input sizes Target Microsoft software environments – Existing libraries and parallel applications written in native code – Libraries for Microsoft’s managed code environments may have security requirements which impact performance – Potentially mixing programming models within one application Numeric accuracy and stability Copyright Microsoft Corporation, All Rights Reserved
12
Collaborations Within Microsoft – Evaluate early releases of programming models and runtime – Gather application requirements and plan demonstrations Research groups in academia – Share new many-core parallel algorithm ideas – UTK, Berkeley, and looking for others Copyright Microsoft Corporation, All Rights Reserved
13
Thank you! Copyright Microsoft Corporation, All Rights Reserved
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.