在Redhat 7 Linux上安装llama.cpp [ 错误stdatomic.h: No such file or directory]

前期准备

在github上下载llama.cpp或克隆。

GitHub - ggerganov/llama.cpp: LLM inference in C/C++

​
git clone https://github.com/ggerganov/llama.cpp.gitcd llama.cpp

执行make命令编译llama.cpp

make

在huggingface里下载量化了的 gguf格式的llama2模型。

https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGUF/tree/main

我下载的是llama-2-7b-chat.Q4_0.gguf

拷贝llama-2-7b-chat.Q4_0.gguf 到llama.cpp目录里的models目录里

正常安装的错误信息

安装 gcc 和gcc-c++ 之后,你运行Make 命令编译llama.cpp的时候,你会发现下面问题。

yum -y install gcc --nogpgcheckyum -y install gcc-c++ --nogpgcheck

错误信息, 因为gcc 的版本是4.8

cc  -I. -Icommon -D_XOPEN_SOURCE=600 -D_GNU_SOURCE -DNDEBUG  -std=c11   -fPIC -O3 -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wshadow -Wstrict-prototypes -Wpointer-arith -Wmissing-prototypes -Werror=implicit-int -Werror=implicit-function-declaration -pthread -march=native -mtune=native -Wdouble-promotion    -c ggml.c -o ggml.oggml.c:92:23: fatal error: stdatomic.h: No such file or directory#include <stdatomic.h>^compilation terminated.make: *** [ggml.o] Error 1

解决方法

1. 从下面连接下载 gcc-12.2.0 

Index of /gnu/gcc/releases/gcc-12.2.0

2. 解压下载的gcc-12.2.0.tar.gz

tar xvf gcc-12.2.0.tar.gz

3. 用root权限运行下面命令

yum -y install gmp-devel mpfr-devel libmpc-devel --nogpgcheck

4. 运行下面命令安装gcc 12.2.0 版本

cd gcc-12.2.0./configure --disable-multilib --enable-languages=c,c++# change -j <cores_num> if you have more cpu cores for building be fastermake -j 4make installgcc --versionexport CC=gccexport LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64

5. 下载和编译llama.cpp

​
git clone https://github.com/ggerganov/llama.cpp.gitcd llama.cppmake

或者直接下载后运行make命令

GitHub - ggerganov/llama.cpp at llama_server_completions

6. 运行llama.cpp

./main -m ./models/llama-2-7b-chat.Q4_0.gguf --color --ctx_size 2048 -n -1 -ins -b 256 --top_k 10000 --temp 0.2 --repeat_penalty 1.1 -t 8

在Redhat 8安装

在redhat8 上直接安装gcc, gcc-c++ ,  然后编译llama.cpp就可以了

yum -y install make --nogpgcheck
yum -y install gcc --nogpgcheck
yum -y install gcc-c++ --nogpgcheck

其它llama2的系列博客

在Windows或Mac上安装并运行LLAMA2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/715893.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一练:笔试题复盘-LeeCode原题-判断二叉树两数之和-->找到满足二叉树两数之和的所有路径

用Java实现&#xff0c;给定一个二叉树root和一个值 sum &#xff0c;找到从根节点到叶子节点的节点值之和等于 sum 的路径。 1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过的结点 2.叶子节点是指没有子节点的节点 3.路径只能从父节点到子节点&#xff0c;不能从子…

Compiling from source on UNIX(cmake doxygen ant maven ccache)

前言 源码链接 cmake-3.18.0 https://cmake.org/files/v3.18/cmake-3.18.0.tar.gzdoxygen-1.10.0 https://www.doxygen.nl/files/doxygen-1.10.0.src.tar.gzapache-ant-1.10.8-bin https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.8-bin.tar.gzapache-maven-3…

#WEB前端(表单)

1.实验&#xff1a; form、input、label 登录界面&#xff0c;表单填写界面 2.IDE&#xff1a;VSCODE 3.记录&#xff1a; 4.代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name&q…

RedisTemplate中opaForValue.set的注意之处

问题 原本写了一个小项目&#xff0c;想通过redis缓存实现登录退出功能&#xff0c;结果出现了莫名奇妙的问题 代码如下&#xff1a; 报错&#xff1a; 经过多次调试之后我发现是opsForValue.set(key,value,expireTime)这行代码的问题&#xff0c;没有指定过期时间的单位&…

备战蓝桥杯---动态规划之悬线法

Em...属于一知道就会&#xff0c;不知道的话比较难想。 我们先看题&#xff1a; 我们不妨把1抽象成一个平面上的点&#xff0c;因此可以变成这一幅图&#xff1a; 我们假设每一个点被向上牵拉了一根线&#xff1a; 显然&#xff0c;每一条悬线都有可能成为边界限制&#xff0c…

JS值和引用

在javaScript中&#xff0c;数据类型整体上可以分为两大类&#xff1a;基本数据类型和引用数据类型 基本数据类型&#xff1a; string , symbol , number , boolean , undefined , null 引用数据类型&#xff1a; object 1.简单值&#xff08;原始值&#xff09; 由于简单…

职业生涯知识回顾-关于抽象类和接口的思考

抽象类和接口是两个很容易产生疑惑的概念&#xff0c;分不清它们的使用场景&#xff0c;其实只要记住两点就比较好理解&#xff1a; 接口是对行为的抽象抽象类是对子类有哪些属性和行为的抽象 当你需要对一个类有哪些行为进行约束时&#xff0c;使用接口&#xff1b;需要为其…

Bulingbuling - 《历史的教训》 [ The Lessons of History ]

《历史的教训》 两位当代最伟大思想家的著名论文集&#xff0c;汇集了 5000 多年的历史 作者&#xff1a;威尔-杜兰特和阿里尔-杜兰特 The Lessons of History The celebrated collection of essays compiling over 5,000 years of history by two of the greatest thinkers …

Spring Boot项目中不使用@RequestMapping相关注解,如何动态发布自定义URL路径

一、前言 在Spring Boot项目开发过程中&#xff0c;对于接口API发布URL访问路径&#xff0c;一般都是在类上标识RestController或者Controller注解&#xff0c;然后在方法上标识RequestMapping相关注解&#xff0c;比如&#xff1a;PostMapping、GetMapping注解&#xff0c;通…

Siamrpn++论文中文翻译(详细!)

SiamRPN: Evolution of Siamese Visual Tracking with Very Deep Networks SiamRPN&#xff1a;具有非常深度网络的Siamese视觉跟踪的进化 【siamrpn论文地址】 https://arxiv.org/abs/1812.11703 摘要 基于Siamese网络的跟踪器将跟踪表示为目标模板和搜索区域之间的卷积特征…

【STA】多场景时序检查学习记录

单周期路径 建立时间时序检查 在时钟的有效沿到达触发器之前&#xff0c;数据应在一定时间内保持稳定&#xff0c;这段时间即触发器的建立 时间。满足建立时间要求将确保数据可靠地被捕获到触发器中。 建立时间检查是从发起触发器中时钟的第一个有效沿到捕获触发器中时钟后面…

理解大模型的5个关键公式

理解大模型的5个关键公式_哔哩哔哩_bilibili PPT&#xff1a;https://link.excalidraw.com/p/readonly/aBWlNjEckdUlrszwwo6V

基于springboot+vue的社区医院管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

chatgpt-3的文章生成器有哪些?可以批量生成文章的生成器

GPT-3&#xff08;Generative Pre-trained Transformer 3&#xff09;作为人工智能领域的一项重大突破&#xff0c;开启了新一代的文本生成技术。同时市面上也涌现出了一些GPT-3文章生成器&#xff0c;为用户提供了快速、高效地生成各种类型文章的工具。本文将介绍一些中国的GP…

unity-unity2d基础操作笔记(三)0.5.000

目标是:牢记以下137条操作,越级上升到中级阶段 unity-unity2d基础操作笔记(三) 一百零一、如何操作一个游戏物体由多个部分组成的动画一百零二、如何使用rigidbody 2d进行物体移动一百零三、获取游戏物体身上的组件方法一百零四、代码控制物体朝向一百零五、不使用插件,纯…

C#上位机调试经验

1.使用Visual Studio的远程工具 因为上位机软件安装在工控机上&#xff0c;不方便调试。如果直接把代码放在工控机上&#xff0c;又不太安全。 可以在工控机上安装一个Visual Studio的远程工具&#xff0c;把随身带的笔记本电脑通过网线插在工控机上 这样可以在笔记本上使用…

s3cmd工具使用

1. 安装s3cmd工具 [roottestserver01 ~]# yum install s3cmd 2. 配置s3cmd, 按提示输入相应的ak&#xff0c;sk&#xff0c;endpoint等信息 [roottestserver01 ~]# s3cmd --configure 3. s3cmd使用 [roottestserver01 ~]# s3cmd mb s3://abc &#xff08;创建一个桶&am…

python笔记_程序流程控制

A&#xff0c;顺序控制 程序从上到下逐行执行 python定义变量时&#xff0c;会合法地向前引用 age 1 age2 age 1 age2 age 1 age 1 ——>错误&#xff0c;age应在age2之前 B&#xff0c;分支控制 1&#xff0c;单分支if 语法 if 条件表达式 &#xff1a; 代码块 说明…

【六】【SQL】多表查询,笛卡尔积

笛卡尔积 笛卡尔积发生在当你在查询中将两个或多个表进行交叉连接&#xff08;CROSS JOIN&#xff09;或者没有指定任何连接条件时。假设第一个表有M行&#xff0c;第二个表有N行&#xff0c;那么结果集将包含M x N个记录。在大多数情况下&#xff0c;笛卡尔积并不是你想要的结…

数字化转型导师坚鹏:证券公司数字化思维升级之道

证券公司数字化思维升级之道 ——数字化思维之六脉神剑 课程背景&#xff1a; 很多证券公司存在以下问题&#xff1a; 不知道数字化转型如何改变思维模式&#xff1f; 不清楚需要建立什么样的数字化思维&#xff1f; 不知道如何开展数字化思维提升工作&#xff1f; 课…