Inastemp supports SX-Aurora Vector Engine

Inastemp, intrinsics as template, is a basic library to use vectorization easily in C++ thanks to template and Intrinsics. Now it supports vector intrinsics for Vector Engine provided by llvm-ve, in addition to intrinsics for X86 SSE/AVX/AVX512, PowerPC ALTIVEC, ARM SVE. With inastemp, you can write highily vectorized code by using C++ template without writing intrinsics directory. It means that you don’t have to learn platform-specific intrinsics and your code runs on various platforms. [Read More]

Update TensorFlow for SX-Aurora

We have updated tensorflow-ve, Tensorflow with SX-Aurora TSUBASA Vector Engine Support. Now it supports tf 2.0 API! We release the prebuilt package. See README_ve.md for install instructions. Tensorflow-ve supports VectorEngine(VE) as a offload device such as GPU. That means our TF is VE-aware, for example you can see kernels run on VE and data transfer between CPU and VE on a standard profiler in tensorboard. And our TF includes some kernels that run on VE. [Read More]

Deep Reinforcement Learning on SX-Aurora

wellvill Co.,Ltd. has evaluated their deep reinforcement learning algorithm on SX-Aurora’s Vector Engine. The result is very impressive. SX-Aurora outperforms GPU(P100) system about two times. Their algorithm is based on “dueling double DQN” and solves 3D bin packing problems such as packing multiple products in boxes in a logistics center, loading packages into a truck, etc. Since they are using TensorFlow, it can run on VE with TensorFlow for VE without special modification. [Read More]

Release LLVM-VE 1.5.0

We have released LLVM-VE 1.5.0. From this release we have shifted to the mono repo as the official LLVM. The compiler is idential with LLVM-VE 1.4.0. It can be installed from ef_extra repository. % yum install https://sx-aurora.com/repos/veos/ef_extra/x86_64/llvm-ve-link-1.5.0-1.x86_64.rpm \ https://sx-aurora. [Read More]
llvm 

Release llvm-ve-1.3.0

We have released LLVM-VE 1.3.0. The rpm packages are avaible.

% yum install https://sx-aurora.com/repos/veos/ef_extra/x86_64/llvm-ve-link-1.3.0-1.x86_64.rpm \
              https://sx-aurora.com/repos/veos/ef_extra/x86_64/llvm-ve-1.3.0-1.3.0-1.x86_64.rpm

This release adds some intrinsic functions.

  • _vel_andm_MMMl, etc
  • _vel_insert/extract_vm512l/u
  • _vel_approx_*
  • _vel_pvfmk*

Full function list is available at https://sx-aurora-dev.github.io/velintrin.html.

llvm 

Performance of TensorFlow on SX-Aurora

We are investigating how SX-Aurora works on variouse ML applications. In this post, we would like to share the result of performance evaluation of three ML workloads using TensorFlow. The graphs show relative performance of training on CPU, GPU and VE in SX-Aurora. The left graph is simple CNN for image classification based on the example in Keras. We have used mnist dataset. As you know, GPU’s high peak computational performance works well for convolution layers, then V100 is the best. [Read More]

Release TensorFlow for SX-Aurora

We are pleased to announce the release of TensorFlow for SX-Aurora. This TF supports Vector Engin in SX-Aurora as a computing device. We have implemented some kernels for VE. Such kenrels are offloaded to VE for acceleration. We have also released: keras includes small modification for VE, vetfkernel includes implemetation of kernels for VE, and vednn is Vector Engine DNN Library. You can pip install prebuild packages to start to use TF on SX-Aurora. [Read More]

LLVM-VE rpm package

As we mentioned in the past post, the rpm package for llvm-ve is now available on VEOS yum Repository on the Web. You can install llvm-ve: % yum install https://sx-aurora.com/repos/veos/ef_extra/x86_64/llvm-ve-1.1.0-1.1.0-1.x86_64.rpm \ https://sx-aurora.com/repos/veos/ef_extra/x86_64/llvm-ve-link-1.1.0-1.x86_64.rpm The llvm-ve package is all in one package that includes llvm, clang and runtimes. Files are installed into /opt/nec/nosupport/llvm-ve-1.1.0. The llvm-ve-link makes a symlink from /opt/nec/nosupport/llvm-ve to there. You can compile your program like this. % /opt/nec/nosupport/llvm-ve/bin/clang -target ve-linux hello. [Read More]
llvm