Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.
1114 Discussions

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

zhang_h_
Beginner
2,516 Views

~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

0 Kudos
5 Replies
TimP
Honored Contributor III
2,516 Views

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.

0 Kudos
Bernard
Valued Contributor I
2,516 Views

You can also read Intel Optimization Manual.

0 Kudos
gast128
Beginner
2,516 Views

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?

 

0 Kudos
Russell_Van_Zandt
2,516 Views

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.

0 Kudos
McCalpinJohn
Honored Contributor III
2,516 Views

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.

0 Kudos
Reply