【KeyarchOS:KOS操作系统】一文搞定 Ktransformers-AMX 大模型部署:核心步骤 + 常见问题解决

浪潮信息KeyarchOS的飞跃之路 KOS也就是KeyarchOS,由浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。了解了KOS之后,对于我们开始谈到的一些问题,我们看看KOS都进行了哪些改进。 阅读详情

目录

1 前言

2 环境

3 编译

4 测试

5 启动大模型

6 配置chatbox

7 性能测试

8 常见问题


1 前言

浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接:

https://www.ieisystem.com/kos/product-kos-xq.thtml?id=12126

ktransformers 是一个专为大语言模型优化的高性能推理框架,致力于在异构硬件环境(CPU+GPU)上实现高效、灵活的模型部署。该框架通过自定义算子、内存优化和设备调度,显著提升大模型的推理性能,尤其将专家计算卸载到CPU并利用intel的AMX特性使得其更加适合需要低延迟或资源受限的场景。

本篇文章主要介绍如何在KOS操作系统上部署ktransformers以及进行基准性能测试和AMX性能测试。

2 环境

系统环境

操作系统:KOS 5.8SP2U1

GPU:NVIDIA GeForce RTX 4090

CPU:Intel(R) Xeon(R) Gold 5418Y

Cuda:12.8

GPU dirver:570.86.15

部署方案:采用docker镜像部署

首先要确认CPU是否支持AMX特性

Docker镜像

拉取docker images

docker pull nvidia/cuda:12.8.0-devel-ubuntu22.04

启动docker

3 编译

一键部署

  • 进入容器:docker exec –it ubuntu22.04-cuda-12.8 bash
  • 拉取一键部署脚本:
    git clone https://github.com/maaaxinfinity/ktrun.git
    注:该脚本会自动下载编译依赖包和更新子模块源码
  • 编译KT:

cd ktrun

bash run.sh

待上述脚本执行完毕后进入ktransformers安装目录,重新执行以下命令

MAX_JOBS=56 USE_BALANCE_SERVE=1 bash ./install.sh

备注:

Ktransformers源码:https://github.com/kvcache-ai/ktransformers.git

Branch: main

Comit:90888fee0d424763e4069f5c81dd26e4012ed085

4 测试

测试模型:Qwen3-30B-A3B-GGUF/BF16

测试工具:chatbox

5 启动大模型

备注:

--cpu_infer:启用的CPU核数,根据实际填写,必须大于等于2

--backend_type:后端类型,目前只有balance_serve能跑AMX

6 配置chatbox

设置->模型提供方->添加

名称:自定义

API模式:OpenAI API兼容

API主机:填写提供模型服务地址以及端口

模型:点击新建,填写模型名称,与模型启动--model_name指定名称相同

新建对话->输入问题可以看到正常运行

7 性能测试

测试工具:双击以下html设置相应的参数后点击开始测试

启用AMXBF16:配置文件采用Qwen3Moe-serve-amx.yaml

启用llamafile:配置文件采用Qwen3Moe-serve.yaml或者直接修改Qwen3Moe-serve-amx.yaml文件中的backend为"llamafile"

通过以上数据对比可以明显看到在相同参数配置下AMXBF16推理性能提升大约2~3倍。

8 常见问题

  • TBB


解决:缺少TBB开发包
apt install libtbb-dev

  • GLIBCXX_3.4.29' not found

解决:更新glib,命令:conda install -c conda-forge libstdcxx-ng -y

51单片机STC8G1K08驱动ws2812记录 使用51单片机控制17个2812灯,这里选择STC8芯片,最大频率可以达到35M,参考网上的各种文章案例,使用定时器做的时候实测做不到规格书要求的245-345ns,STC8G1K08不带PWM,所以只能使用nop来做,好在单片机在这里只有做编程灯的功能,省略测试过程,下面是程序,使用的是24MHz内部晶振 //设置一个灯珠 void SendOnePix(unsigned char *ptr) { unsigned char i,j; unsigned char temp; fo... 阅读详情

相关推荐

神经元细胞结构刨析(持续更新)

神经细胞的学习笔记

weixin_46596227的博客 2221

【大模型】图解Transformers架构

对于Transformers的重要性我想不用多说了。先来个整体视角:再逐步分解开来:Transformer 是一种神经网络,擅长理解序列数据的上下文并从中生成新的数据。它们是首个仅依赖自注意力机制,而不使用 RNN 或卷积的模型。想象一个用于语言翻译的 Transformer 是一个黑盒子。🎩• 输入:一句话(某种语言)。• 输出:它的翻译。但是,这个黑盒子内部发生了什么?让我们一探究竟!🔍• 输入:西班牙语句子 “¿De quién es?

m0_59163425的博客 2964

PWM控制技术+Simulink仿真详解

想要理解SVPWM控制技术,首先要了解PWM控制技术。 PWM控制技术就是对脉冲宽度进行调制的技术,通过对一系列脉冲宽度进行调制来等效获得所需要的波形(包括形状和幅值)。 PWM控制的基本原理:冲量(窄脉冲的面积)相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果(输出响应波形)基本相同,即面积等效原理;用一系列幅值相等,宽度按一定规律变化的高频脉冲序列代替期望的输出波形,多用于逆变电路的控制; PWM信号生成的方法有:计算法、调制法、跟踪法,主要对调制法进行详解 ...

小师兄的学习记录 5万+

KOS学习笔记

KOS是一种操作系统,它是韩国政府在1990年代初期研制的主要操作系统之一。KOS不仅具有高度的安全性和稳定性,还支持多任务和多用户操作。目前,KOS广泛应用于韩国政府部门和企业等领域。

m0_72410588的博客 1085

【CMU-自主导航与规划】Autonomous Exploration Development Environment 实战:从环境搭建到多场景测试

本文详细介绍了CMU开源自主导航开发环境(Autonomous Exploration Development Environment)的实战部署与测试。内容涵盖从Ubuntu与ROS环境搭建、仿真场景配置,到核心导航模块(地形分析、局部避障、航点跟踪)的深度解析,并演示了如何集成TARE探索与FAR规划等上层算法,最终指导连接真实SLAM与实车部署,完成多场景性能评估。

weixin_29215391的博客 706

C++和OpenGL实现3D游戏编程【连载6】——不规则图形的纹理贴图(附源码)

上一节我们讨论了纹理贴图的相关基础操作,但上一节的纹理贴图操作基本上都是规则图形,包括圆形和球形虽然复杂一点,但是它也是规则的。这一节课我们要讨论一下,怎么在不规则图形上纹理贴图,就比如文章下图的心形纹理贴图,以及纹理的平移、旋转、放大缩小功能。

zhooyu的博客 1308

KTransformers:让显卡轻松驾驭满血DeepSeek的秘籍!

嘿,各位技术小伙伴们!在这个AI遍地开花的时代,大模型推理似乎成了我们日常工作的“家常便饭”。但你有没有遇到过这样的尴尬:明明显卡性能爆棚,却只能眼巴巴地看着那些庞然大物(比如DeepSeek)在内存中挣扎?别急,今天咱们就来聊聊一个神奇的开源项目——KTransformers,它能让你的显卡如虎添翼,流畅运行满血DeepSeek!话不多说,咱们这就开整!好了,说了这么多关于KTransformers的内容,相信你已经对它有了初步的了解。

夜夜夜夜 1万+

Unity零基础到入门 ☀️| 基础知识入门篇章,看完就可以做游戏啦! | 寻找C站宝藏

Unity入门基础知识。本篇文章介绍了关于Unity入门的一些基础知识,包括基本概念和使用实例。简单易上手,轻松实现Unity入门操作!

努力前行,总会成为自己心中的那道光 1万+

KOS系统安装部署Calico网络

浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接。Calico 是一个开源的网络和网络安全解决方案,适用于容器、虚拟机和原生云应用。Calico 3.10.3 是这个项目的一个特定版本。

KeyarchOS的博客 1526

rk3588 LightSensor适配从驱动到应用层

本文详细介绍了在RK3588平台上实现光感驱动的开发流程。主要包括:1) 在设备树中配置I2C5接口挂载光感设备;2) 编写内核驱动代码实现光感数据采集;3) HAL层通过ioctl与驱动交互;4) 在BoardConfig.mk中启用相关宏定义;5) Framework层通过AutomaticBrightnessController实现自动亮度调节算法;6) 应用层可通过监听系统设置获取光感变化并调整屏幕亮度。整个流程涵盖了从底层驱动到上层应用的完整实现方案,重点解决了光感设备注册、数据采集传输和自动亮度

tzj1058756809的博客 449

单片机设计具备断电记忆功能的计时器

本文介绍了如何设计一款具备断电记忆功能的计时器,利用单片机和EEPROM存储器实现了计时器值的保存和恢复。当然,在实际的设计中还需要考虑其他因素,如电源管理、时钟精度等,以确保计时器的正常运行和准确性。选择合适的单片机:在设计计时器时,我们需要选择一款具备存储功能的单片机,以便在断电后能够保存计时器的状态。可以优化显示方式,使用更加直观的界面来展示计时器的值;函数中,我们首先从 EEPROM 中读取计时器的初始值,然后在一个无限循环中每秒钟增加计时器的值,并将新的值写入 EEPROM 中。

RlDart的博客 1094

transformers 框架使用详解,bert-base-chinese

transformers 框架使用详解,bert-base-chinese

猛犸象 1859

实时系统vxWorks - 虚拟机环境搭建

概述VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的...

不只会拍照的程序猿 7853

浪潮信息KOS服务器操作系统:经过周密考虑后的智慧之选

KOS已在政务、金融、通信、能源、交通、医疗等众多行业中广泛应用,累计装机量超过20万台,并提供长达10年的维护支持。 为了满足CentOS迁移替代的需求,浪潮信息信息已基于KOS,推出可视化迁移方案C2K。

感谢关注-最近在编写开源的自动化测试框架还没整理完 3631

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

KeyarchOS(KOS)安装 WildFly

KeyarchOS是浪潮信息基于OpenAnolis开源操作系统自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位。WildFly(以前称为JBoss Application Server)是一个开源的、轻量级的Java应用服务器,由Red Hat维护和支持。它是Java EE规范的一个先进实现,提供了一系列功能和服务,用于构建、部署和管理Java企业级应用程序。

weixin_49230371的博客 183

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Docke启动Ktransformers部署Qwen3MOE模型实战与性能测试

本文介绍了使用Docker部署Qwen3MOE大模型并测试性能的过程。由于CPU不支持AVX512指令集,改用AVX2版本的ktransformers镜像。通过Docker容器运行模型,详细说明了启动命令和参数配置,包括模型路径、优化配置等。重点测试了模型响应性能,结果显示预填充阶段速度为58.34 tokens/s,解码阶段为19.09 tokens/s,揭示了模型在不同处理阶段的性能特征,为优化推理速度提供了参考依据。

m0_69966537的博客 2017

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Ko.OS系列——操作系统简述

文章目录操作系统简述CPUCPU 运行模式内存寄存器高速缓存主存磁盘虚拟内存I/O 设备忙等待中断直接存储器访问(Direct Memory Access, DMA)文件管道保护系统调用重要的系统调用函数用于进程管理的系统调用 操作系统简述 在硬件的基础上,这层软件通过响应用户输入的指令达到控制硬件的效果,从而满足用户的需求。 CPU CPU 内部都会包含一些寄存器来保存一些关键变量和临时结果,在指令集中的一些指令用于关键字会从内存加载寄存器中,以及把关键字从寄存器中存入内存中。 一些特殊的寄存器: 程序

qq_41010363的博客 2056

KOS系统网络指南:配置实战、疑难排错与TCP性能优化

KOS通过一站式运维平台(覆盖主机管理、诊断分析、安全防御)与深度内核优化,解决了传统Linux工具碎片化、排错依赖经验等痛点,为企业数字化转型提供稳定、高效的网络基座开启送礼物。

sinat_34953318的博客 735
上一篇: 【浪潮信息KeyarchOS (KOS)】手把手用Sockperf:多维度评估网络吞吐量和延迟的神器
下一篇: 基础篇-Linux存储体系核心概念之文件系统入门
KeyarchOS
博客等级 码龄3年 1312粉丝 339原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值