Is there some books about SIMD(sse, avx and so on) optimization?

Is there some books about SIMD(sse, avx and so on) optimization?

~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

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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.

You can also read Intel Optimization Manual.

Quote:

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?

 

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.

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:

  1. Optimizing Software in C++ (Windows, Linux, & Mac)
  2. Optimizing Subroutines in Assembly Language (x86)
  3. Microarchitecture of Intel, AMD, and VIA CPUs
  4. Instruction Tables (instruction latency and throughput for Intel, AMD, and VIA cpus)
  5. 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.

John D. McCalpin, PhD
"Dr. Bandwidth"

Leave a Comment

Please sign in to add a comment. Not a member? Join today