[Computer-go] AVX2 effect on go programs?

terry mcintyre terrymcintyre at yahoo.com
Fri Jun 14 05:59:18 PDT 2013

That doesn't seem to be quite right. From Intel's site: 

For integer loops, the 128-bit Intel® Streaming SIMD Extensions (Intel® SSE) provide SIMD instructions for most arithmetic and logical operators on 32-bit, 16-bit, and 8-bit integer data types, with limited support for the 64-bit integer data type.
Vectorization may proceed if the final precision of integer wrap-around arithmetic is preserved. A 32-bit shift-right operator, for instance, is not vectorized in 16-bit mode if the final stored value is a 16-bit integer. Also, note that because the Intel® SSE instruction sets are not fully orthogonal (shifts on byte operands, for instance, are not supported), not all integer operations can actually be vectorized.
OTOH, AVX2 - Integer data types expanded to 256-bit SIMD.

There are also some new gather operations and filtering abilities, etc, which might be useful. Odds are, they'll require some hand-written assembler. 

Terry McIntyre <terrymcintyre at yahoo.com>

Unix/Linux Systems Administration
Taking time to do it right saves having to do it twice.

> From: Detlef Schmicker <ds2 at physik.de>
>To: computer-go at dvandva.org 
>Sent: Thursday, June 13, 2013 2:56 PM
>Subject: [Computer-go] AVX2 effect on go programs?
>I wonder if anybody already compiled a mc go program for the haswell cpu
>with auto-vectorization and avx2 enabled?
>If I understood correctly it is the first intel cpu which can vectorize
>integer operations, and go programs have a lot of them.
>Computer-go mailing list
>Computer-go at dvandva.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://computer-go.org/pipermail/computer-go/attachments/20130614/f6ae20c5/attachment.html>

More information about the Computer-go mailing list