|
|
|
|
Part I: 64-bit optimization, multi-core, threading 101, vectorization, software profiling using AMD CodeAnalyst™ and assembly code
|
|
Michael Wall, Principal Member of Technical Staff, Advanced Micro Devices Inc.
|
6/9/2008
|
|
|
|
|
» Performance Optimization of Windows Applications on AMD Processors, Part II
The Mandel project is a Visual Studio C/C++ performance demo that illustrates several key concepts in Windows programming, and moves progressively through different performance optimizations. At the most basic level, it shows how to create and compile a simple Windows application using Visual Studio 2005 or 2008. This floating-point intensive project can easily be compiled using the 32-bit compiler, or built for higher performance using the x64 compiler included in Visual Studio.
Dramatic performance gains are attained by using certain C++ source-level optimization tricks, then by using a series of further optimizations including compiler SSE vector intrinsic functions. True native 64-bit assembly code is optionally integrated into the project, and assembled using 64-bit MASM. Finally, the newly supported OpenMP multi-threading API is used to easily multi-thread the application and double the performance on dual-core desktop PCs or two-processor workstation machines.
What you need to get started
- PC based on AMD Athlon™ 64 or AMD Opteron™ processor (dual-core, multi-core or 2P preferred)
- Microsoft Windows XP Professional x64 Edition or Vista 64-bit
- Visual Studio 2005 beta 2 or later, or Visual Studio 2008, Professional Edition or Team System*
* Standard and Express versions do not support 64-bit development or OpenMP threading
- Microsoft DirectX SDK, June 2005 or later (MSDN public download)
- Mandel project files
- AMD CodeAnalystTM profiling tool
|
|
Back to top |
|
|
AMD, the AMD Arrow logo, AMD Opteron,
AMD Athlon, AMD Turion, AMD Sempron,
AMD LIVE!, and combinations thereof,
are trademarks of Advanced Micro
Devices, Inc. Microsoft and Windows
are registered trademarks of
Microsoft Corporation in the United
States and/or other jurisdictions.
Linux is a registered trademark of
Linus Torvalds. Other names are for
informational purposes only and may
be trademarks of their respective
owners.
websites which are not in the
control of and are not maintained by
AMD. AMD is not responsible for the
content of those sites. AMD provides
these links to you only as a
convenience, and the inclusion of
any link to such sites does not
imply endorsement by AMD of those
sites. AMD reserves the right to
terminate any link or linking
program at any time. |
|
|
|