© 2011 Autodesk Single Job 1 Processor 1 Single Job 2 Single Job 3 Processor 2 Processor 3 Big Job 1 Big Job 2 Single Job 4 Processor 1 Single Job 5 Single.

Slides:



Advertisements
Similar presentations
© 2012 Autodesk Using Subassembly Composer on the Highway A4 Construction Project Jordy Brouwers Geonius.
Advertisements

© 2012 Autodesk CI5180-V Hydraulics and Hydrology: Autodesk® Infrastructure Design Suite Tools in Your Toolbox Dino Lustri, P.E., P.S. Civil Engineering,
© 2011 Autodesk Capitalize on Corridor Improvements in AutoCAD ® Civil 3D ® Don Quinn Civil Engineer / Eagle Point Product Specialist.
© 2012 Autodesk MA5938-V Integrating Autodesk® Inventor® with SAP and Utilizing Model Structure for Production Planning Alexander Crane CIDEON consultant.
© 2012 Autodesk “Clash of The Design Teams” using Autodesk BIM 360 Glue & Revit Jason Jones Jason Waddell PES Structural Engineers The Beck Group BIM Program.
© 2011 Autodesk Case Studies: Simulation Problem Solving for Industrial Machinery and Consumer Product Design Shakeel Mirza Technical Consultant, Simulation.
© 2012 Autodesk How to Establish Autodesk® PLM 360 as the Platform for Enabling PLM and Related Processes Prayush Saraswat PLM Business Process Consultant.
© 2012 Autodesk M5935-V Integrating SAP® with AutoCAD® Bill Svokos CIDEON consultant SAP PLM.
© 2011 Autodesk Suites and CAD Managers Jerry Milana Autodesk Consulting.
© 2012 Autodesk Conceptual and Design Workflows Using Autodesk ® 360 Integrated Applications Anirban Ghosh Principal User Experience Designer – DLS Mobile.
© 2011 Autodesk Mechatronics-Taming the Beast Randy Brunette Consultant, Trainer, All Around Good Guy Brunette Technologies, LLC.
© 2011 Autodesk Unleash the Power of Autodesk® SketchBook® Designer Michal Jelinek Technical account manager Creative and advanced design EMEA MFG Automotive.
Scripting Components for AutoCAD Plant 3D
© 2012 Autodesk CI 3907: AIM to Please with Your Transportation Project - Part 1 Alan Gilbert, PE, LSI & Wes Newman Autodesk Transportation Technical Specialists.
© 2012 Autodesk Do More With Less ETO API’s Ishwar Nagwani Technical Consultant.
© 2012 Autodesk AutoCAD ® Virtualized and Digitized michael trachtenberg - AE BackOffice Software Director.
© 2012 Autodesk The Devil Is In The Workflow Module 1: Successfully Plan and Implement BIM Luis Rojas Building Design Product Line Manager, Eagle Point.
© 2011 Autodesk Mechanical Simulation in AutoCAD ® 2012 Craig A. Miller – Pennsylvania College of Technology CAD Technology Specialist.
© 2012 Autodesk Project Architect-Times-a-Changing: How to transition from yesterday to today Christopher Ozog Project Architect.
© 2012 Autodesk AutoCAD on Electrical Steroids Randy Brunette Electrical Subject Matter Expert (Autodesk)
© 2012 Autodesk LF BIM in Manufacturing Crossing the Wall Between Product and Building Workflows Tim Bourdois Aluminum Curtainwall Systems / Netwise.
© 2012 Autodesk How to Get the Most from Integrated Project Delivery (IPD) David J. Patera Team Project Manager & VDC Coordinator.
© 2011 Autodesk Moving from Desktop to Cloud Albert Szilvasy Software Architect, AutoCAD Engineering Team.
That Dam Corridor: AutoCAD® Civil 3D® Modeling for New and Rehab Dam Projects Yates Austin Schnabel Engineering Dana Probert Autodesk.
© 2011 Autodesk Converting Existing Piping Specs Ian Matthew Technical Marketing Manager, Autodesk.
© 2011 Autodesk Popular Design Patterns and How to Implement Them in.NET Gopinath Taget Senior Developer Consultant.
© 2012 Autodesk AutoCAD® API.NET Tips and Tricks James E. Johnson Application Developer for Synergis Software.
© 2012 Autodesk Rolling Your Own: Building Apps in Autodesk® PLM 360 Joseph Piggee Trung Nguyen.
© 2012 Autodesk Adding Instrumentation and Electrical Capabilities to Autodesk® Plant Design Suite Andy Bonfield.
© 2012 Autodesk Autodesk® Revit® MEP: Get Current with Electrical Engineering Module 1 – Dual Circuiting Seth Mathis Schmidt Associates BIM Designer.
© 2011 Autodesk Autodesk® Revit® MEP: Not Enough Content - What is the Problem Again? Plamen Hristov Virtual Design Manager.
© 2012 Autodesk Going for the Gold with Data Management AB6022-V Adam Peter Customer Success Engineer.
© 2012 Autodesk Can You Afford to Use Old Training Methods on New Technology? Module 1: Why Old Training Methods Don’t Work Steve Biver Civil Product Line.
Join us on Twitter: #AU2014. Class summary text goes here Class summary.
© 2011 Autodesk Optimizing Digital Drawing Files and BIM Models for Measurement and Estimating Simon Lovegrove MRICS, AAIQS Director, Exactal.
Join us on Twitter: #AU2013 Building Well-Performing Autodesk® AutoCAD® Applications Albert Szilvasy Software Architect.
© 2012 Autodesk Sweet Suite Collaboration Module 1: Suite Interoperability Veronica Lamb Technical Specialist, US CAD of Hawaii.
© 2012 Autodesk Customizing AutoCAD P&ID David Wolfe Process and Power Specialist.
© 2012 Autodesk AB1851 Optimizing the Design Development Stage using Revit Architecture Douglas Bowers, AIA, LEED AP BD+C Doug Bowers Consulting, LLC.
© 2011 Autodesk AC2182 P - Autodesk 3ds Max for Starters Create Stunning Renderings For All Situations Christopher Fernandez Senior Applications Specialist,
© 2012 Autodesk The Picture Says It All: Commercial Site Plan 3D Visualizations Using Autodesk® IDS John Sayre Civil Application Engineer.
© 2012 Autodesk Autodesk Structural Curriculum 2013 Unit 3: Modeling for Building Structures Building Information Modeling.
© 2011 Autodesk The Suite Life of AutoCAD® Guillermo Melantoni Sr Product Manager: Workflows and Interoperability at Autodesk.
© 2012 Autodesk SM3595-R | Thinking of Design, Engineering, and Simulation Differently! Luke Mihelcic Product Marketing Manager | ISM – Simulation Industry.
© 2012 Autodesk Collaboration Systems – It’s good to share Martin Duke Business Systems Manager.
© 2011 Autodesk Customizing AutoCAD ® Plant 3D Isometrics Joel HarrisIan Matthew Piping Technology Specialist, Anvil Corp.Technical Marketing Manager,
© 2012 Autodesk PL Autodesk ® PLM 360 for the AEC Space Klaus Lörincz PLM Product Manger Autodesk Frank Schley Development & Pilot Projects Ed. Züblin.
© 2011 Autodesk The Autodesk® Revit® Theory of Relativity: Understanding Shared Coordinates Paul F. Aubin Author/Consultant.
© 2011 Autodesk Publish Autodesk® Inventor® Building Components for Consumption in AutoCAD® MEP and Revit® MEP Jay Ayala Solutions Engineer.
© 2012 Autodesk From CAD to Awesome: AutoCAD® and Autodesk® SketchBook® Designer Guillermo Melantoni Product Line Manager: Personal Design & Fabrication.
The Point For Coordination Module 1: Setting The Survey Point
Managing the Construction Administration Phase in Autodesk® Revit®
Civil 3D®: An All Around Geospatial Software Package
Are You STILL Not Using AutoCAD® Civil 3D ®?
AB2623-Triage for Your Autodesk Revit Family
Water! Water! Quenching Your Thirst for Water in AutoCAD® Civil 3D®
Autodesk® Revit® Rendering Tips You Can Use
Creating Intelligent Details in Autodesk® Revit®
Check Out These ‘Suite’ Workflows
Using Scripts, AutoLISP® and
Using Quantity Takeoff and Linked Models in Revit to Estimate a Project as the Design Changes Kevin R. Miller, Brigham Young University Scott Davis & TJ.
CM1847 Migrating AutoCAD Standards to Revit
Are Your Buildings Floating in the Air
Autodesk Navisworks: Practical Tips and Tricks from Seven Years in the Construction Industry Josh Lowe Project Lead, TURIS Systems.
AB6105-V: Autodesk® Revit® Reality Check for Residential Construction
BIM for Interiors: Making Autodesk® Revit® Work for You
MP1483 Massing and using Architecture Models for Revit MEP 2013 Analysis Simon Whitbread Application Specialist.
The Family Lab Harlan Brumm Product Support Technical Lead.
Using Quantity Takeoff and Linked Models in Revit to Estimate a Project as the Design Changes Kevin R. Miller, Brigham Young University Scott Davis & TJ.
Beyond Massing: Conceptual Design in Autodesk® Revit® Architecture 2012 David Fano Partner | CASE Design, Inc |
Presentation transcript:

© 2011 Autodesk Single Job 1 Processor 1 Single Job 2 Single Job 3 Processor 2 Processor 3 Big Job 1 Big Job 2 Single Job 4 Processor 1 Single Job 5 Single Job 6 Processor 2 Processor 3 Parallel programming in an AutoCAD application Gopinath Taget Senior Developer Consultant

© 2011 Autodesk Gopinath Taget Autodesk Developer Network Americas Autodesk, Inc. Gopinath Taget is a member of the Autodesk Developer Technical Services Team. He has more than 7 years of experience developing and supporting AutoCAD APIs, including ObjectARX,.NET, VBA and LISP. Gopinath also has several years of experience in software development on other CAD platforms, including Microstation, Solidworks, and CATIA -- mainly using C++ and technologies such as MFC and COM. Gopinath was also involved in the development of Web-based applications for MapGuide and AutoCAD Map 3D. Gopinath has Master degrees in Civil Engineering and Software Systems. About Me

© 2011 Autodesk Single Job 1 Processor 1 Single Job 2 Single Job 3 Processor 2 Processor 3 Big Job 1 Big Job 2 Single Job 4 Processor 1 Single Job 5 Single Job 6 Processor 2 Processor 3 Class Summary In this class you will learn about  Problems implementing parallelism in an AutoCAD application  Which portions of an application can be safely parallelized  Latest.NET and C++ libraries for parallelism  Synchronizing parallel execution in AutoCAD application

© 2011 Autodesk Single Job 1 Processor 1 Single Job 2 Single Job 3 Processor 2 Processor 3 Big Job 1 Big Job 2 Single Job 4 Processor 1 Single Job 5 Single Job 6 Processor 2 Processor 3 Learning Objectives At the end of this class, you will be able to:  Implement parallelism in an AutoCAD application  Understand safe methods for parallelism in an AutoCAD application  Understand technologies and APIs available to implement parallelism

© 2011 Autodesk Issues with Parallel Programming in AutoCAD

© 2011 Autodesk Single Job 1 Processor 1 Single Job 2 Single Job 3 Processor 2 Processor 3 Big Job 1 Big Job 2 Single Job 4 Processor 1 Single Job 5 Single Job 6 Processor 2 Processor 3 AutoCAD is an MFC Application  AutoCAD UI accessible only from UI thread  AutoCAD Objects accessible only from UI thread  Only one UI thread  Only one message loop

© 2011 Autodesk Single Job 1 Processor 1 Single Job 2 Single Job 3 Processor 2 Processor 3 Big Job 1 Big Job 2 Single Job 4 Processor 1 Single Job 5 Single Job 6 Processor 2 Processor 3 AutoCAD is not Thread Safe  No way to lock AutoCAD objects  AutoCAD idle state can be complex to determine  Idle state can be broken in unexpected ways  Only message queue determines what gets executed  Message queue too fine grained  Lots of scope for race conditions

© 2011 Autodesk “Safe” Parallel Programming in AutoCAD

© 2011 Autodesk Single Job 1 Processor 1 Single Job 2 Single Job 3 Processor 2 Processor 3 Big Job 1 Big Job 2 Single Job 4 Processor 1 Single Job 5 Single Job 6 Processor 2 Processor 3 Best Practices  Asynchronous programming is your friend  IsQuiescent is your friend  Always use the AutoCAD message loop  Use ActiveX API if you can  Only perform non-Acad operations in threads

© 2011 Autodesk Single Job 1 Processor 1 Single Job 2 Single Job 3 Processor 2 Processor 3 Big Job 1 Big Job 2 Single Job 4 Processor 1 Single Job 5 Single Job 6 Processor 2 Processor 3 Separate Executables  Poor man’s parallelism  Send Messages to AutoCAD instance  Use COM to communicate and control AutoCAD  Other IPC technologies to exchange data

© 2011 Autodesk Useful Technologies for Parallel Programming

© 2011 Autodesk Single Job 1 Processor 1 Single Job 2 Single Job 3 Processor 2 Processor 3 Big Job 1 Big Job 2 Single Job 4 Processor 1 Single Job 5 Single Job 6 Processor 2 Processor 3.NET Task Parallel Library  Available with.NET 4.0  Concurrency made easy  Integrated with LINQ to make PLINQ  Optimizes based on CPU architecture

© 2011 Autodesk Single Job 1 Processor 1 Single Job 2 Single Job 3 Processor 2 Processor 3 Big Job 1 Big Job 2 Single Job 4 Processor 1 Single Job 5 Single Job 6 Processor 2 Processor 3 Microsoft C++ Concurrency Runtime  High level of abstraction  Two programming models  Asynchronous Agents Library (Actor based library)  Parallel Pattern Library (Imperative Programming)  Allows customization of scheduler  Resource manager as abstraction of hardware

© 2011 Autodesk Single Job 1 Processor 1 Single Job 2 Single Job 3 Processor 2 Processor 3 Big Job 1 Big Job 2 Single Job 4 Processor 1 Single Job 5 Single Job 6 Processor 2 Processor 3 Autodesk, AutoCAD* [*if/when mentioned in the pertinent material, followed by an alphabetical list of all other trademarks mentioned in the material] are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. © 2011 Autodesk, Inc. All rights reserved.