OpenMP 4.0 Support In Oracle Solaris Studio
Ruud van der Pas Dis nguished Engineer Architecture and Performance, SPARC Microelectronics
SC’14 OpenMP BOF November 18, 2014
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 1 Safe Harbor Statement The following is intended to outline our general product direc on. It is intended for informa on purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or func onality, and should not be relied upon in making purchasing decisions. The development, release, and ming of any features or func onality described for Oracle’s products remains at the sole discre on of Oracle.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 2 What Is Oracle Solaris Studio ? • Supported on Linux too • Compilers and tools, • It is actually a comprehensive so ware suite, including: – C, C++ and Fortran compilers – Various tools (performance analyzer, thread analyzer, code analyzer, debugger, etc) • Pla orms supported – Processors: SPARC, x86 – Opera ng Systems: Solaris, Linux
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 3 h p://www.oracle.com/technetwork/ server-storage/solarisstudio/overview/index.html
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 4 OpenMP Specific Support/1 • Compiler – Various op ons and environment variables – Autoscoping – Compiler Commentary • General feature to inform about op miza ons, but also specific to OpenMP • Performance Analyzer – OpenMP “states”, metrics, etc – Task and region specific informa on
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 5 Performance Analyzer - Profile Comparison
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 6 A Comparison– More Detail
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 7 OpenMP Specific Support/2 • Thread Analyzer – Data race and deadlock detec on • Performance Library – Uses OpenMP internally • Debugger
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 8 Oracle Solaris Thread Analyzer
Shows source lines where data races occur
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 9 Oracle Solaris Thread Analyzer
Show dual source code
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 10 Some Features Useful For OpenMP Apps • Stack overflow check (-xcheck=stkovf op on) • Sta c, compile me, checks (-xvpara op on) • Run me checks (SUNW_MP_WARN variable) • Run me controls (e.g. behaviour of idle threads) • Autoscoping (“default(__auto)” clause) • Run me data race and deadlock detec on • Debugger/dbx support for OpenMP
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 11 Just Released (November 11, 2014)
Oracle Solaris Studio 12.4
Full Support For OpenMP 4.0
Get Your Free Download Now
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 12 New Features in Studio 12.4 • Full support for OpenMP 4.0 • C++ 2011 support • Significant improvements in: – Performance Analyzer (both func onality and GUI) – Code Analyzer – Integrated Development Environment Check the web site for more details and your free download
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 13 OpenMP 4.0 Support
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 14 Full OpenMP 4.0 Support/1 • Thread Affinity • Tasking Extensions • Error Handling • User Defined Reduc ons • ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 15 Full OpenMP 4.0 Support/2 • SIMD – Constructs are accepted, but may not generate SIMD instruc ons • Accelerators – Constructs are accepted, but code is executed on host
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 16 Thank You And ...... Stay Tuned !
Ruud van der Pas
h p://www.oracle.com/technetwork/ server-storage/solarisstudio/overview/index.html
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 17 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 18