解决 ChatGLM.CPP+clBlast 编译错误(也适用于SD.CPP)

简介: 解决 ChatGLM.CPP+clBlast 编译错误(也适用于SD.CPP)

首先安装 OpenCL 和 clblast:

vcpkg install opencl clblast

下载GitHub 上的源码:

git clone --recurse-submodules https://github.com/li-plus/chatglm.cpp
cd chatglm.cpp

这个项目 GGML 子仓库中, third_party/ggml/src/CMakeList.txt 有个错误。打开并找到 178-183 行:

find_path(CLBLAST_INC NAMES cblast.h PATHS ${CLBLAST_INCLUDE_SEARCH_PATHS})
  find_library(CLBLAST_LIB NAMES clblast)
  if (CLBLAST_LIB)
    message(STATUS "clBLAST found")
    set(GGML_EXTRA_LIBS  ${GGML_EXTRA_LIBS}  ${CLBLAST_LIB})

可以看到头文件名称写错(应该是clblast.h)。然后没有添加CLBLAST_INC到总的包含路径里面。并且 clBlast 一来 OpenCL,也没有添加 OpenCL 的静态库,会导致找不到各种clxxxx函数。

改成:

find_path(CLBLAST_INC NAMES clblast.h PATHS ${CLBLAST_INCLUDE_SEARCH_PATHS})
  find_library(CLBLAST_LIB NAMES clblast)
  find_library(OPENCL_LIB NAMES OpenCL)
  if (CLBLAST_LIB AND OPENCL_LIB AND CLBLAST_INC)
    message(STATUS "clBLAST found")
    set(GGML_EXTRA_INCS  ${GGML_EXTRA_INCS}  ${CLBLAST_INC})
    set(GGML_EXTRA_LIBS  ${GGML_EXTRA_LIBS}  ${CLBLAST_LIB}  ${OPENCL_LIB})

然后执行 CMake 命令:

cmake -B build -DGGML_CLBLAST=ON
cmake --build build -j --config Release

如果还是出现【clblast not found】,说明 CMake 并没有找到 VCPKG 安装的库文件。需要手动指定:

cmake -B build -DGGML_CLBLAST=ON -DCMAKE_PREFIX_PATH="<cmake_lib_path>;<cmake_inc_path>"

<cmake_lib_path><cmake_inc_path>换成 VCPKG 的存储路径,我的开发环境中大概是c:/vcpkg/installed/x64-windows/libc:/vcpkg/installed/x64-windows/include

相关文章
|
SQL 搜索推荐 测试技术
【Havenask实践篇】完整的性能测试
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。性能测试的目的在于评估搜索引擎在各种负载和条件下的响应速度、稳定性。通过模拟不同的用户行为和查询模式,我们可以揭示潜在的瓶颈、优化索引策略、调整系统配置,并确保Havenask在用户数量激增或数据量剧增时仍能保持稳定运行。本文举例对Havenask进行召回性能测试的一个简单场景,在搭建好Havenask服务并写入数据后,使用wrk对Havenask进行压测,查看QPS和查询耗时等性能指标。
66534 6
|
存储 消息中间件 搜索推荐
【前沿技术】 阿里开源搜索引擎Havenask的消息系统
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。本文针对性介绍了Havenask的消息系统--Swift,它是一个设计用于处理大规模的数据流和实时消息传递的高性能、可靠的消息系统。
61555 3
|
SQL 运维 搜索推荐
《揭秘,阿里开源自研搜索引擎Havenask的在线检索服务》
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。本文针对性介绍了Havenask的在线检索服务,它具备高可用、高时效、低成本的优势,帮助企业和开发者量身定做适合业务发展的智能搜索服务。
85472 138
|
搜索推荐 大数据 数据库
【Havenask实践篇】搭建文本检索服务
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。本文举例数据库检索加速的一个简单场景,使用Havenask对数据库的文本字段建立倒排索引,通过倒排检索列提高检索性能,缩短检索耗时。
114849 51
【Havenask实践篇】搭建文本检索服务
|
自然语言处理 搜索推荐 算法
【一文读懂】基于Havenask向量检索+大模型,构建可靠的智能问答服务
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内的几乎整个阿里的搜索业务。本文针对性介绍了Havenask作为一款高性能的召回搜索引擎,应用在向量检索和LLM智能问答场景的解决方案和核心优势。通过Havenask向量检索+大模型可以构建可靠的垂直领域的智能问答方案,同时快速在业务场景中进行实践及应用。
112206 64
|
存储 持续交付 开发工具
clang-format
clang-format
1760 7
|
自然语言处理 数据处理 调度
《Havenask分布式索引构建服务--Build Service》
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。本文针对性介绍了Havenask分布式索引构建服务——Build Service,主打稳定、快速、易管理,是在线系统提升竞争力的一大利器。
103000 3
《Havenask分布式索引构建服务--Build Service》
|
运维 搜索推荐 调度
Ha3搜索引擎简介
Ha3是阿里巴巴搜索团队开发的搜索引擎平台,它为阿里集团包括淘宝、天猫在内的核心业务提供搜索服务支持。
26525 1
|
机器学习/深度学习 新零售 人工智能
阿里推荐与搜索引擎 - AI·OS综述
AI·OS(Online Serving),大数据深度学习在线服务体系,由我们工程、算法、效率的同事们砥砺十年而成,支撑起海内外阿里电商全部的搜索和推荐业务,时刻置身大数据主战场,引导成交占据集团大盘主体;此外,作为中台技术中坚,AI·OS已是包括电商、阿里云、优酷、菜鸟、盒马、钉钉等等在内全集团的基础设施;更为重要的是,AI·OS体系的云产品矩阵服务于全球开发者,今年预期在数千万级的营收规模。
12529 0
|
机器学习/深度学习 存储 算法

热门文章

最新文章