OpenMP 4.0 Support In Studio

Ruud van der Pas Disnguished 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 direcon. It is intended for informaon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funconality, and should not be relied upon in making purchasing decisions. The development, release, and ming of any features or funconality described for Oracle’s products remains at the sole discreon of Oracle.

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 2 What Is Oracle Solaris Studio ? • Supported on too • Compilers and tools, • It is actually a comprehensive soware suite, including: – C, C++ and Fortran compilers – Various tools (performance analyzer, thread analyzer, code analyzer, debugger, etc) • Plaorms supported – Processors: SPARC, x86 – Operang Systems: Solaris, Linux

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 3 hp://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 opons and environment variables – Autoscoping – Compiler Commentary • General feature to inform about opmizaons, but also specific to OpenMP • Performance Analyzer – OpenMP “states”, metrics, etc – Task and region specific informaon

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 detecon • 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 opon) • Stac, compile me, checks (-xvpara opon) • 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 detecon • 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 funconality 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 Reducons • ...

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 instrucons • 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

[email protected]

hp://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