This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Read our privacy policy
Maximizing Hardware Performance
The OptimizeLab Overlay software repository provides high-performance pre-compiled key applications and function libraries for the AArch64 architecture. It is provided as Launchpad personal package archives (PPAs) and built against Ubuntu 18.04 LTS and Ubuntu 20.04 LTS.
Software packages in the repository are carefully selected and organized to ensure no conflict with the existing software in the system of the corresponding version and continuously track and maintain the security and quality updates. During the development process, we have tried our best to avoid interfering with developers and strive to keep dynamically compiled applications compatible with the original system in most cases after using this repository. In this way, users can safely and smoothly upgrade the Ubuntu LTS version after using the software in the repository.
The repository consists of four components. As the development goes deeper, we will add more components based on user feedback and development plans. You can install repositories as required. However, most of them depend on the base
component.
base
As the name implies, the base
component is the basis of most other components and is recommended for all users. If this repository is not used, other repositories can still run independently. However, some performance optimization depends on the basic improvement made in this repository. As a result, the optimization effect is not obvious or even no effect is achieved.
- Toolchain software (such as GCC 8), which supports the ARMv8.1 LSE feature and does not automatically replace the default compiler of the system.
- Glibc: uses the new toolchain (GCC 8 or GCC 7) for compilation and enables enhanced optimization configuration. The performance is improved by more than 50% in specific cases.
- jemalloc: The atomic operation performance and stability are improved when the memory is allocated or deallocated during busy hours.
- Valgrind 3.15.0 (latest version)
- Software and function libraries that other systems depend on at the bottom layer
To add this repository:
sudo add-apt-repository ppa:optimizelab/optimizelab-base
sudo apt update
database
The database
component contains a newly compiled database software package. You are advised to use this component when the database is heavily loaded.
- Optimized mysql-8.0 build, which greatly improves atomic operation performance compared with the original system software package
- Optimized sqlite3 build
- Optimized PostgreSQL build, which is to be released
- openGauss database software, which is to be added
To add this repository:
sudo add-apt-repository ppa:optimizelab/optimizelab-database
sudo apt update
media
The media
component is optimized and upgraded based on some selected media-related software packages. It is recommended for users who have encoding requirements. Some software can also improve the audio and video playback performance. Users who pursue high performance can also use the media
component.
- ffmpeg 4.2.2 (updated for the major version), which improves the encoding efficiency, adds functions, and improves the efficiency of the software that uses FFmpeg decoding.
- mpv: Compiled based on the latest version of FFmpeg to improve the CPU decoding smoothness of the ARM platform
- obs-studio 25.0.3: new version, used together with the latest FFmpeg version
- Updated x264 to the latest version
- Updated x265 to the latest version
- Other necessary updates of dependencies
To add this repository:
sudo add-apt-repository ppa:optimizelab/optimizelab-media
sudo apt update
science
The science
is targeted at the core software package of scientific computing and is mainly used in scenarios such as scientific computing and high-performance computing (HPC). Because it contains a large number of basic computing function libraries, the performance of the science
component is significantly improved in some computing-intensive but non-scientific computing application scenarios.
- openblas optimized build (also new version)
- openblas 0.3.7: new version with the compilation parameters of the ARM platform optimized
- blis 0.7.0: new version
- lapack: new version with the compilation parameters of the ARM platform optimized
- eigen3 3.3.7: new version
- Julia 1.4.1: Introduced to 18.04 for the first time and may be migrated to an independent component later based on the actual situation.
- numpy 1.17.4: new version, which incorporates some upstream performance optimization patches. SIMD optimization will be introduced with the upstream version.
- scipy 1.3.3: new version
- numba 0.48.0: new version
- Other performance-related basic libraries, such as chafa, fftw3, gmp, psimd, simdjson
To add this repository:
sudo add-apt-repository ppa:optimizelab/optimizelab-science
sudo apt update
Footnotes
The repository itself is distributed under the Apache-2 license. For details, see the ``LICENSE` file. All software in the repository retains its original license agreement.
If you have any questions or requests, please commit an issue to us.
