---
title: 简介
description: "本文档提供了鲲鹏系统库的安装指南、详细接口定义与示例代码，旨在帮助用户快速熟悉鲲鹏系统库的使用。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_ksl_16_0001.html
sourcePath: /source/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_ksl_16_0001.html
indexId: 16dfc14097efa9c5f576068936a6494d57e27b7b97d93ac5a8c9dd6f4e7614a876
---
# 简介

本文档提供了鲲鹏系统库的安装指南、详细接口定义与示例代码，旨在帮助用户快速熟悉鲲鹏系统库的使用。

KSL（Kunpeng System Library，鲲鹏系统库）是华为提供的基于鲲鹏平台优化的高性能系统函数库，提供了鲲鹏平台上x86指令迁移，内存分配，多线程，编解码，字符串匹配等能力，通过充分发挥鲲鹏硬件优势，对比开源版本实现有一定的性能和易用性提升。KSL所有接口由C/C++、汇编语言实现。KSL的组成如表1所示。


**表1 KSL组成部分**

| 序号 | 库名 | 描述 | 适用场景 |
| --- | --- | --- | --- |
| 1 | AVX2KI | Intel Intrinsics指令函数的Arm实现。AVX2KI（Avx To Kunpeng Intrinsic）是一款接口集合库，将传统平台的Intrinsic接口集合使用鲲鹏指令重新实现，并封装为独立的接口模块（C语言头文件方式），以减少大量迁移项目重复开发的工作量。用户可以通过将头文件导入应用程序继续使用传统平台的Intrinsic函数。 | Intel Intrinsics指令适配迁移鲲鹏处理器。 |
| 2 | KQMalloc | 鲲鹏高性能内存库KQMalloc（Kunpeng Quick Malloc），是专为鲲鹏920系列处理器设计的内存分配器。此分配器分为单线程和多线程应用场景，最大限度地减少内部缓存占用空间，最大限度地减少内部缓存未命中，可极大地提升应用性能。 | 内存的申请、释放等。 |
| 3 | HTL | 轻量级线程库HTL（Hyper Thread Library）是构建在内核态线程之上的用户级线程库。用于解决内核级线程大量使用时，应用性能下降、系统资源不足的问题，尤其解决嵌套并行场景下性能极低的问题。在保障减少资源使用的情况下，提升并发度，改善性能。 | 多线程并行应用。 |
| 4 | KSL\_ASN1 | ASN.1（Abstract Syntax Notation One）是定义抽象数据类型规格形式的一套标准，是描述数据的表示、编码、传输、解码的灵活的一种记法。KSL\_ASN1是开源ASN.1软件的国产化替换，支持BER（Basic Encoding Rules）、DER（Distinguished Encoding Rules）、PER（Packed Encoding Rules）和XER（XML Encoding Rules）格式，性能相较开源软件asn1c有较大的提升。 | ASN.1文件解析与编解码。 |
| 5 | KHSEL | KHSEL（Kunpeng Hyperscan Enhanced Library）是基于开源Hyperscan针对鲲鹏920系列处理器设计的软件增强包，包括KHSEL\_ops和KHSEL\_core两个子库。 KHSEL\_ops提供了固定规则下的C++标准库ReplaceAll的加速优化函数ReplaceAllAcc，可以获得基于鲲鹏920系列处理器的优化效果。 KHSEL\_core优化了大规模规则集匹配算法FDR，小规模快速匹配算法Shufti，增强了Hyperscan处理snort\_literal，snort\_pcre等数据集的scan性能。 | 正则表达式匹配。 匹配函数。 |
| 6 | kpglibc | kpglibc（Kunpeng GNU C Library）基于鲲鹏920系列处理器，利用向量化指令集对其中的字符串操作函数、内存操作函数和时间操作函数进行性能优化。 | 字符串操作函数、内存操作函数和时间操作函数。 |


KSL仅适用于鲲鹏处理器。为获得更优性能，KSL接口内部不做完整入参校验，调用者请使用合法的入参，不合法的入参可能导致报错。
