Rate This Document
Findability
Accuracy
Completeness
Readability

Environment Requirements

Before compilation and installation, ensure that the environment meets the hardware and software requirements. The hardware configuration includes CPUs. The software configuration includes the OS and applications.

Hardware

Table 1 lists the hardware requirements.

Table 1 Hardware requirements

Item

Description

CPU

Kunpeng 920 processor

OS and Software

Table 2 and Table 3 describe the software and dependencies required for porting ScaNN and OSs compatible with ScaNN.

Table 2 Software requirements

Item

Version

Description

How to Obtain

ScaNN

1.2.10

The ScaNN source code is stored in the scann directory of the google-research code repository. Version 1.2.10 is represented by a commit ID and does not have a fixed branch or tag. You need to download the google-research code repository and switch to the corresponding commit ID for ScaNN.

https://github.com/google-research/google-research/tree/master/scann

Bazel

5.4.0

ScaNN uses the Bazel compilation framework. The Bazel version must be 5.4.0 or later; however, the Bazel version installed using Yum is too early. Therefore, you need to compile and install Bazel using the source code.

https://github.com/bazelbuild/bazel/releases/download/5.4.0/bazel-5.4.0-dist.zip

AVX2KI

2.1.0

ScaNN can run only on the x86 platform and does not support Arm. The Intel intrinsics instruction functions in the source code need to be converted into Arm-compatible instructions through the AVX2KI library.

Contact Huawei technical support.

Dataset

glove-100-angular

Data set used to verify ScaNN.

http://ann-benchmarks.com/glove-100-angular.hdf5

GCC/G++

10.3.1

GNU Compiler Collection (GCC) is a programming language compiler developed by GNU.

Install it using Yum.

Table 3 OS requirements

Item

Version

Description

How to Obtain

OS

openEuler 22.03 LTS SP3

OS to which the software will be ported.

For a fresh OS installation, choose Minimal Install and select Development Tools to minimize manual operations.

https://repo.openeuler.org/openEuler-22.03-LTS-SP3/ISO/aarch64

Kernel

5.10.0

-

Included in the OS image.