Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

14
© 2013, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. Intel® Advisor XE 2013 Pleasure of parallelism without much of the pain Leo Borges ([email protected]) Intel - Software and Services Group iStep-Brazil, August 2013 1

description

Palestra ministrada por Leonardo Borges no Intel Software Conference nos dias 6 de Agosto (NCC/UNESP/SP) e 12 de Agosto (COPPE/UFRJ/RJ).

Transcript of Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

Page 1: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.

Intel® Advisor XE 2013Pleasure of parallelism without much of the pain

Leo Borges ([email protected])

Intel - Software and Services Group

iStep-Brazil, August 2013

1

Page 2: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.

Agenda

• Motivation for the Advisor XE

• Advisor XE Workflow Steps

• Survey Program

• Annotate Sources

• Check Suitability

• Check Correctness

• Convert to Parallel Framework

• Demo

• Conclusion

Page 3: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.

Simplify and Speed Threading DesignIntel® Advisor XE – Threading Assistant

The Challenge of Parallel Design:

– Need to implement to measure performance

– Implementation is time consuming

– Disrupts regular product development

– Testing difficult without tools

• Intel Advisor XE Separates Design & Implementation

• Fast exploration of multiple options

• Find errors before implementation

• Design without disrupting development

– Linux* and Windows*

– C, C++, Fortran and C# code

3

Add Parallelism with Less Effort, Less Risk and More Impact

Page 4: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.

How to use Intel® Advisor XE• As a design tool that assists in making good

decisions to transform a serial algorithm to use multi-core hardware

• As a parallel modeling tool that uses annotations in the serial code to calculate what might happen if that code were to execute in parallel as specified by the annotations

• As a methodology and workflow to educate users on an effective method of using parallel programming

4

Page 5: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.

Intel® Advisor XE Workflow

Survey Program – Helps developers focus on the hot call trees and loops

as locations to experiment with parallelism.

Annotate Sources - Developers insert Parallel Advisor annotations into

their sources to describe parallel experiments.

Check Suitability – Helps developers evaluate the performance of their

parallel experiment by displaying the performance projection for each parallel site and how each site’s performance impacts the entire program.

Check Correctness – Helps developers by identifying data issues (races)

in the parallel experiment.

Add Parallel Framework – Replace annotations.

Advisor XE analyzes the executing serial program as

developers progress through the methodology…

The Advisor XE Workflow window guides the developer throughout the process

5

Page 6: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.

Parallel Modeling of Serial Programs

• Your application can’t fail due to bugs caused by incorrect parallel execution (it’s running serially)

• You can evaluate several different proposals before committing to a specific implementation

• You can refactor your code to prepare it to be easier to incorporate parallel frameworks later

• Many transformations that make your code easier to parallelize, also make it easier to read and maintain

• All of your test suites should still pass when validating the correctness of your transformations

6

Page 7: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.

Intel® Advisor XE – Check Suitability

Developer’s tasks and locks that were executed within the selected site

Program impact

Scalability of selected site

Developers evaluate their

parallel experiments based on

projected performance

improvements

Developer’s parallel sites

How to maximize the performance benefit of the selected site

Help when the developer needs it

7

Page 8: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.

Intel® Advisor XE – Check CorrectnessDevelopers evaluate the data

sharing problems that prevent

correct parallel execution

Observation details

Observation problem sets

Problems and Messages

8

Page 9: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.

Advisor XE Annotation Concepts

• Advisor XE uses 3 primary concepts to create a model

– SITE

• A region of code in your application you want to transform into parallel code

– TASK

• The region of code in a SITE you want to execute in parallel with the rest of the code in the SITE

– LOCK

• Mark regions of code in a TASK which must be serialized

• You may create more than one SITE and they may be nested

• Are macros in C/C++, function calls in C# & Fortran, so work with any compiler

9

Page 10: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.

Page 11: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.

Summary

• The Intel Advisor XE is a unique tool

– assists you to work smarter though detailed modeling

– guides you through the necessary steps

– leaves you in control of code and architectural choices

– lets you transform serial algorithms into parallel form faster

• The parallel modeling methodology

– maintains your original application’s semantics and behavior

– helps find the natural opportunities to exploit parallel execution

• http://software.intel.com/en-us/intel-advisor-xe

11

Page 12: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.12

Page 13: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013
Page 14: Ferramentas de Desenvolvimento Intel® (Intel® Advisor) - Intel Software Conference 2013

© 2013, Intel Corporation. All righ ts reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S.

and/or other countries. *Other names and brands may be claimed as the property of others.

Demo using Tachyon ray-tracing program

• (6 minute video of similar demo: http://software.intel.com/en-us/intel-advisor-xeunder the “Learn” tab)

14