- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
~Can someone please recommend a few books on program optimization?
I use multithreading and simd to improve the performance of the program.
I always learn simd through the website, and ask questions in the web site.
Now I want to buy some books to learn. Is there any books on simd ? Thanks
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
http://click.intel.com/the-software-vectorization-handbook.html is a classic on SSE2 which no one has pretended to replace. Not much about threading.
http://mitpress.mit.edu/books/using-openmp is an important book on OpenMP which doesn't cover much beyond OpenMP 2.0 nor anything about vectorization. Just a couple pages about cache locality.
It may be interesting to know which topics need more emphasis as we propose to add publications. We have in mind for example cache locality and the combination of simd with multi-threading (OpenMP and MPI). I concur with your observation about the importance of treating those subjects together.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can also read Intel Optimization Manual.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Tim P. wrote:http://click.intel.com/the-software-vectorization-handbook.html is a classic on SSE2 which no one has pretended to replace.
This seems a very good book on the topic. Unfortunately it's sold out and people ask huge prizes for second hand book copies. Can't Intel make a reprint of this book?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX 2014th Edition
by Daniel Kusswurm (Author)
ISBN-13: 978-1484200650
Has C language source code in addition to assembly. Covers the entire instruction set, with a focus on numeric computing and multiple chapters for the various SIMD instructions.
---------------------------------------------------------------------------------------------------------------------------------
SIMD Programming Manual for Linux and Windows (Springer Professional Computing) 2004th Edition
by Paul Cockshott (Author), Kenneth Renfrew (Author)
ISBN-13: 978-1852337940
Older and uses vector pascal only. Has multiple negative reviews.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There are a some very good resources at Agner Fog's website: http://www.agner.org/optimize/
He has produced a five-volume set of optimization resources, including:
- Optimizing Software in C++ (Windows, Linux, & Mac)
- Optimizing Subroutines in Assembly Language (x86)
- Microarchitecture of Intel, AMD, and VIA CPUs
- Instruction Tables (instruction latency and throughput for Intel, AMD, and VIA cpus)
- Calling Conventions for different C++ compilers and Operating Systems
All of these are extremely useful. I keep the Instruction Tables document open almost all the time, and I have a printed copy of the Assembly Language manual on my desk most of the time.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page