Optimizing Your Workstation for SolidWorks - SolidWorks Community

0 downloads 274 Views 1MB Size Report
Jul 20, 2009 - Page 9 .... Desktop, laptop? »How big are your models? – Models tend to grow in complexity over time.
Optimizing Your Workstation for SolidWorks Allen Bourgoyne, Sr. Manager, Professional Graphics ISV Team Advanced Micro Devices

Agenda



Introduction



Performance Analysis & Tuning: Science and Art



Analyzing & Improving Performance



Software Considerations



Q&A

Introduction

Introduction Who am I? What will we cover today? •

Understand some basic performance analysis and tuning techniques » Explore



the benefits and limits of these techniques

Exploration of workstation component performance » How

to determine performance

» How

to identify performance issues and improve performance

» Benchmark

examples



Software considerations



Questions? » Welcome

at any time!

Performance Analysis & Tuning: Science and Art

Performance Analysis &Tuning: Science and Art Performance Analysis: Science •

Involves systematic and methodical techniques for obtaining precise performance information



Techniques include: » Instrumented

system software and/or hardware

– software profiling, hardware counters » Defining » Formal

Workloads

Benchmark tests

– SPEC, industry standard » Informal

Benchmark tests

– in-house, QA, “I made it up” » Empirical

tests

– stopwatch, head-to-head, 1-Mississippi, etc. » Data

Analysis

– statistical significance, variance, repeatability

Hard data helps pinpoint problem areas and validate solutions •

Usually takes a lot of work!

Performance Analysis &Tuning: Science and Art Performance Analysis: Art “The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling”1





Testing methods, techniques, technologies will change over time (the science)



Analysis of the data, numerical and statistical analysis will be the key to understanding performance, the art of the analysis



Science is the “how” » how



do I measure?

Art is the “what” » what

1 R.

did I measure?

Jain, "The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling," Wiley- Interscience, New York, NY, April 1991, ISBN:0471503361.

Performance Analysis &Tuning: Science and Art Two important points



Know your limits » Be



realistic about what’s possible

Diminishing returns » Know



when enough is enough

No matter how much you analyze and tune, there are limits to what you can achieve » Hardware » There

and software have definite performance limits

will always be newer, faster hardware & software

Analyzing & Improving Performance

Analyzing & Improving Component Performance - CPU Modern CPU:

I/O Cores

Memory Controller

Cache

Host Memory

Analyzing & Improving Component Performance - CPU Modern CPUs offer better performance than ever before •

Multiple cores on a single CPU provide larger amounts of compute power in the same size package



CPU frequencies are still going up » Though

frequencies are going up, still hard to compare different CPUs clock vs clock – Architectures can vary between CPUs – Cache sizes, bus speeds



Multiple cores are becoming the standard » Most » Quad

computers offering at least dual-core CPUs core becoming common

Analyzing & Improving Component Performance - CPU How does CPU performance affect application performance? •

Benchmark example: » SPEC

APC SolidWorks 2007

– Standards Performance Evaluations Committee (SPEC) provides industry standard benchmarks – Graphics Workstation Performance Group (GWPG) Committee focuses on workstation specific graphics benchmarks – Committee members include system OEM vendors, graphics hardware vendors, and application software vendors

Analyzing & Improving Component Performance - CPU SPEC APC SolidWorks 2007 •

Test machine: 3.0GHz Quad Core, 4GB memory, XP32 » Vary

graphics from low to ultra high end to gauge graphics performance

4.45 4.35 4.25 4.15 4.05 3.95 3.85 3.75

Graphics Composite

Entry

Mid

High

Ultra High What Happened?

Analyzing & Improving Component Performance - CPU SPEC APC SolidWorks 2007 – Analyzing the results •

No improvement in the Graphics Composite score with faster, more powerful graphics



Suspect benchmark is CPU limited » Test

and/or application cannot feed graphics fast enough to drive higher levels of performance

» Not

necessarily indicative of SolidWorks 2007, could be a limitation of the benchmark itself



How do we determine the bottleneck here for sure? » Run

more tests!

Analyzing & Improving Component Performance - CPU SPEC APC SolidWorks 2007 – CPU tests: Vary CPU Speed

3.2 3.1 3 2.9 2.8 2.7 2.6 2.5 2.4 2.3

CPU score

2.53 GHz

2.93 GHz

3.0GHz

3.0GHz 6MB

Analyzing & Improving Component Performance - CPU SPEC APC SolidWorks 2007 – What did we learn? •

No improvement in the Graphics Composite score with faster, more powerful graphics



Faster CPU gave better CPU score » Validated



We also saw that not all 3.0GHz CPUs are created equal! » The



that test is CPU limited, need a faster CPU to get a better score

6MB cache 3.0GHz CPU was 8% faster

The graphics composites moved up along with the CPU scores » Faster

CPUs fed the graphics cards at a higher rate

Analyzing & Improving Component Performance - CPU Important note about benchmarks: •

Benchmarks only measure what they are designed to measure



Sometimes the results don’t accurately reflect what the benchmark was originally designed to measure » SPEC

APC Viewperf 2007 was intended to measure graphics workstation performance



Benchmarks might not age well » SPEC

APC Viewperf 2007 was released in 2006 (work on the benchmark in 2005) – graphics power has increased significantly since then with introduction of unified shader architectures



You need to collect and analyze the data carefully » If

you only ran SPEC APC Viewperf 2007 on a single high-end card, you might not notice the CPU limited nature of the benchmark



SPEC is working with SolidWorks on a SolidWorks 2009 benchmark

Analyzing & Improving Component Performance - CPU SolidWorks and multi-core CPUs •

Will a multi-core CPU run SolidWorks faster? » Yes



and No…

SolidWorks is multi-threaded » But

the threading is at a high level, UI, dialog boxes, etc.

» The

low-level solvers and other compute intensive portions of code do not take full advantage of multiple CPU cores



Lets take a look a the CPU testing results again…

Analyzing & Improving Component Performance - CPU SPEC APC SolidWorks 2007 – CPU tests: Vary CPU Speed

3.2 3.1 3 2.9 2.8 2.7 2.6 2.5 2.4 2.3

CPU score

In this instance, 2 more cores didn’t help! 2.53 GHz

2.93 GHz

Quad Core CPU

3.0GHz

3.0GHz 6MB Dual Core CPU

Analyzing & Improving Component Performance - CPU SolidWorks and multi-core CPUs •

Multiple cores may not help SolidWorks directly, but there still could be benefits » Multiple

cores provide benefits not only to multi threaded applications, but they provide benefits to multi process environments

» Most

workstations run many processes, each need to be given time on the

CPU » Overall



system workload will determine overall system performance

If you can run SolidWorks and nothing else on your workstation, you have the potential to get the most performance out of your CPU!

Analyzing & Improving Component Performance - CPU How busy is my workstation? •

Use the Windows Task Manager to see what’s going on »

Right click on the Task Bar to bring it up

Analyzing & Improving Component Performance - CPU

Task Manager sorted by CPU usage

CPU hogs!

Analyzing & Improving Component Performance - CPU

Task Manager sorted by memory usage

Memory Hogs!

Analyzing & Improving Component Performance - CPU Do some “spring cleaning”! •

Use Task Manager to identify processes that don’t need to be running » Many

utilities, such as CD/DVD burning software, browser toolbars, etc., start themselves up at system boot time – Use msconfig utility

» You

can pretty much identify any running process with an internet search – If you don’t know what it is, leave it alone

» Do

you really need the iPod binaries running all the time (iPodService.exe and iTuneshelper.exe)?

Analyzing & Improving Component Performance - CPU Do some “spring cleaning”! •

Remove applications that you don’t need that initiate services at startup » Most

OEMs include a lot of “freeware” or “try ware”

» In

some cases, even though the free trial period has expired, the software still starts up services!



For some reason, laptops seem to have more trial software/services than workstations » They

usually have less powerful CPUs, less memory, and slower system buses

» Removing

unnecessary processes will pay off in better performance!

Analyzing & Improving Component Performance - CPU One last thing about CPUs… •

Remember how the dual core 3GHz CPU was faster than the quad core 3GHz CPU?

3.2 3.1 3 2.9 2.8 2.7 2.6 2.5 2.4 2.3

CPU score

2.53 GHz

2.93 GHz

Quad Core CPU

3.0GHz

3.0GHz 6MB Dual Core CPU

Analyzing & Improving Component Performance - CPU The 2nd 3GHz CPU had a 6MB cache ( vs 4MB ) •

Not all 3GHz CPUs are created equal



The larger CPU cache enables the CPU to store more data local to the CPU, it’s faster to get data from cache than it is to get it from system memory » The

SPEC SolidWorks 2007 Benchmark uses fairly small models, good chance a lot of the data fit into the 6MB cache accounting for the performance difference

» You

can use CPU analyzer tools to get a view into the CPU cache, but that’s going pretty far…



When considering a CPU purchase, you have to consider overall CPU performance, not just GHz! » Web

is a good place to find latest CPU performance benchmark data

Graphics

SolidWorks and Graphics SolidWorks is a graphics intensive application •

The larger and more complex the model, the greater the demands on the graphics card



Interacting with a model, such as part selection, can require the graphics card to analyze a large amount of data in a very short period of time

SolidWorks and Graphics Application graphics performance includes 1 more factor:

GPU

SolidWorks Graphics Driver Software

SolidWorks and Graphics What kind of graphics card do I need? •

That depends: » What

kind of system do you have?

– Desktop, laptop? » How

big are your models?

– Models tend to grow in complexity over time » What

features of SolidWorks do you use?

– RealView can use more graphics power » Do

you run other applications other than SolidWorks?

– Each application puts demands on the system, including graphics

SolidWorks and Graphics Is my current graphics card good enough? •

If system performance has degraded over time or seem sluggish, you have to investigate » Might » How



be graphics, but might be something else

do I know?

Task Manager can help: » Shows

CPU usage

– Is it at 100%? » Shows

memory usage:

– Out of physical memory? » It

memory or CPU resources exhausted,

need to address these first

SolidWorks and Graphics The size of the graphics workload will determine overall graphics performance How do I determine the size of the SolidWorks graphics workload? »

AMD provides some tools that can help! – Graphics Memory viewer tool – SolidWorks triangle count macros

SolidWorks and Graphics ATI Memory Viewer • Shows GPU/CPU memory usage in real time

Models

• Available for download at: http://ati.amd.com/products/workstation.html “Tools” option on the left

Memory Consumption

AMD Model Samples

GPU

CPU

# Triangles

GPU (Mb)

Piston

12 672

2

Block

23 840

2

Engine

141 368

6

Body Front

476 456

18

AllCAR

528 384

24

Scoot_1mp

879 502

40

CAR

1 328 667

36

CAR0

2 149 949

59

Holland

2 319 945

64

Holland_3mp

2 319 945

52

Driveline

2 806 989

149

CAR2

3 172 019

156

Body Simp

3 398 235

150

M3000

5 170 052

168

BW_7mp

6 718 008

287

Cars_14mp

13 501 702

662

BigMV

20 485 332

692

M_23mp

22 388 454

995

SolidWorks and Graphics SolidWorks Triangle Count Macros • Gives count of triangles in your current part/model or any part/model file • Available for download later this week at: http://ati.amd.com/products/workstation.html “Tools” option on the left

• • •

TrianglesCount.swp for currently open part/model TrianglesCountWithOpen.swp for any part/model file Tools->Macros->Run to execute

SolidWorks and Graphics How do I configure the graphics card for best performance? •

If you have a fairly recent card and driver software… » It’s

easy!

» ATI

FireGL™/FirePro™ cards automatically configure graphics hardware & software when you start an application – FireGL™ cards have been able to do this for over 3 years

» Competing

cards enable you to select a graphics profile for SolidWorks to configure graphics

SolidWorks and Graphics CPU performance looks good, running latest software, what do I do next? •

Examine your workflow » What

is the size and complexity of your models

» What

features of SolidWorks do you use?

– RealView, others, can put additional demands on graphics » Do

you run other applications?

» Are



you the only user of this system?

Do I have the right card for the job?

SolidWorks and Graphics Graphics cards are broken down into 4 segments: •



Entry level ( $100-$300) » 256MB

of memory

» Smaller

models / assemblies, polygon count in the hundreds of thousands

Mid-Range ($400 - $600) » 512MB

of memory

» Medium



High-End ($600 - $1000) » 1GB

of memory

» Large



size models / assemblies, polygon count in the millions

models / assemblies, polygon count in the tens of millions

Ultra High-End ($1000+) » 1GB

or higher

» Largest

models / assemblies

– Complete models, i.e., cars, airplanes, virtual prototyping

Only you can define what kind of card is right for you!

SolidWorks and Graphics

Tip of the day: Try hardware in your environment •

Many resellers have “try & buy” programs



Check the return policy for your vendor



You can only evaluate performance in your environment!

SolidWorks and Graphics And don’t forget… •

No matter how fast the graphics, you need to feed it as fast as possible in order to get the best performance » Graphics » Recent

cards plug into a PCI-E slot

workstations support PCI-E Gen2

– Over 2x the performance, peaks even higher » System

& motherboard vendors will clearly state PCI-E Gen2 support

– If you buy a new system, make sure it supports PCI-E Gen2!!!

Professional vs Consumer Graphics Many users believe consumer graphics cards provide the same levels of performance as professional cards at a lower price Workstation cards are highly tuned for professional applications and provide performance far beyond consumer cards



Professional vs Consumer Graphics – SolidWorks Performance Lets compare consumer vs. professional with SolidWorks Test details: »3

models: – Model #1: 1.63M Triangles – Model #2: 1.67M Triangles – Model #3: 480K Triangles

» Test

– display models, rotate, resulting frames per second

– Want to test graphics only, don’t worry about model gen time, other stuff »Compare:

– Radeon™ HD 4870x2: fastest consumer card, $399.99* – Radeon™ HD 3750: Entry consumer card, $95** – FirePro™ V3750: Entry workstation, price $149.99* * Price on Newegg.com 7/20/2009 ** Price on Dell.com 2/2009

Professional vs. Consumer Graphics SolidWorks Performance

Model #1 (1.63M tri)

Model #2 (1.67M tri)

Model #3

HD 3750

HD 4870x2

V3750

16.03 fps

Failed test

38.04 fps

13.95 fps

13.68 fps

30.42 fps

40.95 fps

41.37 fps

62.14 fps

(480K tri)

For larger models, V3750 is over 2x the performance! Test system: 3.0GHZ CPU, 4GB memory, XP32 SP2, SolidWorks 2009

Professional vs Consumer Graphics Use Professional Graphics cards for Professional Applications!

9 Hardware and Software Drivers optimized and tested by AMD

» Testing

includes application testing – SolidWorks tests are run against driver prior to release!

9 SolidWorks certifies Professional Graphics solutions » Consumer

cards are not tested or certified against professional applications by SolidWorks or AMD

9 Provide the best performance for professional applications » Performance,

higher cost!

productivity, and reliability more than justifies the slightly

Software Considerations

Software Considerations In the end, it all comes down to software performance •

How well does SolidWorks run on my system?

For best performance and stability: •

Do what SolidWorks tells you to do! » Use

the certified and recommended OS, graphics drivers, and officially licensed versions of SolidWorks

» Extremely

large amounts of development and testing effort is done to insure stability and performance

» Read

up on the SolidWorks 2009 release – lots of work done on performance!



Keep actively running processes to a minimum » Give

SolidWorks the maximum amount of CPU and graphics resources possible

Software Considerations A little reading and research never hurts… •

Check your graphics card vendor site occasionally for driver updates » Performance

can and does improve over time!

» Release

notes will tell you what improvement and fixes are included in the driver release

» If

there are performance optimizations or bug fixes for SolidWorks, graphics vendors will re-certify the new drive – OEM posted drivers may lag



Trade publications often run performance tests » They



buy the hardware so you don’t have to!

SolidWorks user groups, message boards, blogs » People

share the good, bad, the ugly

– Lot of focus on the ugly…

Q&A

Disclaimer & Attribution DISCLAIMER The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes. AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ATTRIBUTION © 2009 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo, ATI, the ATI logo, FireGL, FireMV, FirePro and combinations thereof are trademarks of Advanced Micro Devices, Inc. Vista is a trademark, and Microsoft and Windows are registered trademarks of Microsoft Corporation in the United States and/or other jurisdictions. Other names are for informational purposes only and may be trademarks of their respective owners.

SPEC is a registered trademarks of the Standard Performance Evaluation Corporation.