The developerWorks Connections platform will be sunset on December 31, 2019. On January 1, 2020, this blog will no longer be available.

**More details available on our FAQ.**
with Tags:
vector
X

## Usage of the vector function vec_popcnt
IBM XL C/C++ for AIX, V13.1 supports a vector population count procedure vec_popcnt. This built-in function computes the population count (number of set bits) in each element of their input. This function is valid only when the -qarch option is set to target POWER8™ processors. The syntax of this function is: d=vec_popcnt(a) where d represents the types of the returned value and a in parentheses represents the type of the function argument. For details about d and a, see the following table. d a vector unsigned char vector signed char... [More]
Tags: c/c++ built-in vector |

## Vector gather-bits-by-bytes function "vec_gbb"
In IBM XL C/C++ for Linux, V13.1, we support a vector built-in function vec_gbb that can perform a gather-bits-by-bytes operation on the input. NOTE: This built-in function is valid only when -qarch is set to target POWER8™ processors. Syntax d=vec_gbb(a) The following table describes the types of the function returned value " d" and the argument " a". d a The same type as the argument a vector unsigned long long vector signed long long Result value: For example, let x(i) (0 <= i < 8) denote the byte... [More]
Tags: vector function |

## The View from OpenMP F2F January 2012 Meeting
In late January, I hosted the OpenMP January 2012 Face-2-Face (F2F) meeting in San Francisco at the Serrano hotel attended by 24 experts. In the words of one expert, it was one of the most productive meeting we have had in a long time. In this meeting, we increased the urgency to drive towards OpenMP 4.0 with subgroups to discuss affinity, taskgroups, accelerators and high level vector language, Fortran 2003 integration, and error model. Currently, the Affinity subgroup is lead by Christian Terboven, Task subgroup is lead by Federico... [More]
Tags: future accelerators openmp fortran model affinity error vector taskgroup 2003 |

## MASS v6.0 -- High performance math libraries for POWER7
Mathematical Acceleration Subsystem (MASS) Version 6.0 for AIX has been released. This high performance suite of elementary and special mathematical functions contains two new libraries tuned for the IBM POWER7 processor, and exploiting the POWER7 VSX SIMD instruction set. MASS v6.0 offers performance on POWER7 of up to 260 times that of the system math library libm, and up to 4 times that of previous versions of MASS. MASS v6.0 ships with the IBM XL C/C++ for AIX v11.1 and XL Fortran for AIX v13.1 compilers, which provide for both explicit... [More]
Tags: cppcafe elementary_functions mass scientific numerical performance simd vector library |

## MASS auto-vectorization paper now on developerWorks
If your applications call mathematical functions such as sin, cos, exp, log, etc. and you are interested in maximizing performance with minimum effort, here is something that will interest you! My colleague Daniel Zabawa and I have written a paper, "How to improve the performance of programs calling mathematical functions -- taking advantage of IBM XL C/C++ or XL Fortran compiler auto-vectorization". Our paper introduces the IBM MASS high-performance mathematical libraries, and demonstrates how to benefit from them — without the need for... [More]
Tags: performance numerical vectorization autovecgtorization simd hpc vector scientific cppcafe elementary_functions library mass |

## C Standard meeting in Santa Cruz Oct 26-30
Hi all, my name is Michael Wong. I will be attending the next C Standard meeting in Santa Cruz on Oct 26-30, representing IBM and Canada. This promises to be a critical meeting as it is where the C Committee has nominated as the cutoff for adding features to the upcoming C1X (the code name for the next release of C). One of the paper is the IBM comment on the Bounds Checking Library: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1388.pdf where we have made responses as follows: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1389.pdf IBM... [More]
Tags: vmx mmx opencl vsx cppcafe altivec sse2 vector c standard |

## MASS high-performance mathematical function libraries
Hello -- I'm the technical leader for the IBM MASS math libraries. MASS stands for Mathematical Acceleration Subsystem, and consists of libraries of mathematical functions specifically tuned for optimum performance on various computing platforms. MASS was originally launched by IBM in 1995, and has been continuously improved and expanded since then. I've been involved with MASS since 2002. There are currently versions of MASS for all the POWER processors, running AIX or Linux operating systems. There are also versions for BlueGene/L and... [More]
Tags: vector scalar cppcafe elementary_functions performance scientific hpc simd numerical library mass |