llvm + gpdb 环境搭建

简介: 主要是为了继续研究llvm 对greenplum的性能提升

编译安装llvm 是为了更好的去研究GPDB 对llvm 的支持
一、准备阶段
使用的版本是centos 7

基础环境配置  

gcc = 4.8.5
python = 2.7.5 (注释 必须 >= 2.7)
perl = 5.16.3
cmake = 3.5.0
二、源码下载
使用如下命令下载源码 llvm 版本为 3.7.1

#!/bin/bash
# 下载 llvm 3.7.1
wget http://releases.llvm.org/3.7.1/llvm-3.7.1.src.tar.xz
tar xvf llvm-3.7.1.src.tar.xz 
mv llvm-3.7.1.src llvm

# 下载 clang

wget http://releases.llvm.org/3.7.1/cfe-3.7.1.src.tar.xz
tar -xvf cfe-3.7.1.src.tar.xz
mv cfe-3.7.1.src clang

# 下载 compiler-rt

wget http://releases.llvm.org/3.7.1/compiler-rt-3.7.1.src.tar.xz
tar xvf compiler-rt-3.7.1.src.tar.xz
mv compiler-rt-3.7.1.src compiler-rt

# 下载 clang-tools-extra

wget http://releases.llvm.org/3.7.1/clang-tools-extra-3.7.1.src.tar.xz
tar xvf clang-tools-extra-3.7.1.src.tar.xz
mv clang-tools-extra-3.7.1.src extra

# 将文件移动到相应的 llvm 目录下

mv  compiler-rt/ ./llvm/projects
mv  extar/ ./clang/tools
mv  clang/        ./llvm/tools/

# 执行编译安装
cd llvm
mkdir build
cd build
../configure --enable-optimized
make
make install
clang --version (会显示具体的安装版本)
#具体文件树形式
##########################################################
# llvm
# |
# - projects
# | |
# | _ complier-rt
# |
# _ tools
# |
# _ clang
# |
# _ tools
# |
# - extra
##########################################################

  1. 接下来是Greenplum的安装

# 去greenplum的github上clone源码
# 执行具体的编译工作
./configue --enable-codegen --prefix=/home/gpadmin/gp --enable-debug
make
make install
#############
一般情况下 ./configure 会报一个 googletest的错误 我们可以直接将codegen的cmakelist.txt关于这块测试的代码注释掉就ok了
接下来我们就按照分布式安装就ok了

目录
相关文章
|
Ubuntu
LLVM编译源码
LLVM编译源码
347 0
|
存储 监控 算法
ClickHouse源码分析-压缩算法大揭秘
ClickHouse在近年来增加了很多压缩算法,最主要的改进还是为了更好的适应时序场景,提高压缩率,节省存储空间。本期就给大家带来ClickHouse的压缩算法介绍。
5672 0
ClickHouse源码分析-压缩算法大揭秘
|
12月前
|
人工智能 分布式计算 数据处理
阿里云与传智教育联合直播:深度解析MaxFrame,探索量化交易新纪元
2024年10月15日,阿里云与传智教育联合举办了一场主题为“解密新一代AI+Python分布式计算框架MaxFrame”的直播,对阿里云最新推出的分布式计算框架MaxFrame进行了详细的介绍。
516 56
|
分布式计算 Kubernetes 流计算
Iceberg+Amoro+CloudEon体验云原生数据湖
通过使用CloudEon、Iceberg、Flink、Spark和Amoro,您可以轻松地在Kubernetes上构建一个强大的大数据基础环境。
724 0
|
存储 关系型数据库 MySQL
OceanBase的架构
【8月更文挑战第9天】OceanBase的架构
663 59
|
存储 设计模式 算法
Blink Tree 比 B+Tree 性能猛多少???
Blink 树和 B+ 树都是一种类似于B树的数据结构,用于在磁盘上存储和索引数据以实现高效查找和操作。它们的主要区别在于内部节点和叶子节点的结构以及指针的使用方式。总的来说,Blink 树的特点是将内部节点和叶子节点合并为一个节点,减少了树的高度;而 B+ 树通过叶子节点之间的有序链表提高了范围查询和顺序遍历的性能。Blink tree 真的牛啊!# 如果键已经存在,更新值else:# 如果根节点已满,进行分裂else:# 如果是叶子节点,直接插入index = 0index += 1。
635 1
|
存储 负载均衡 Cloud Native
【专栏】Minio是一款高性能分布式对象存储服务,以其易用性和可扩展性著称
【4月更文挑战第28天】Minio是一款高性能分布式对象存储服务,以其易用性和可扩展性著称,适用于存储多媒体内容。通过组建Minio集群,可实现高可用性、高性能、可扩展性和数据保护。搭建集群包括安装Minio、配置集群参数、启动节点、验证集群状态、设置访问权限及可选的数据迁移步骤。Minio集群是实现可靠且高性能存储解决方案的理想选择,适合各种应用场景。
763 0
|
存储 SQL Cloud Native
自研云原生数据仓库AnalyticDB再破权威评测TPC-DS世界纪录!
阿里云自研云原生数据仓库AnalyticDB连续两年成为TPC-DS榜单第一的数据仓库! 性能较前世界纪录提升29%,单位成本仅为其1/3。
3777 0
自研云原生数据仓库AnalyticDB再破权威评测TPC-DS世界纪录!
|
存储 分布式计算 算法
VLDB论文解读,业界首个自研智能信息传递系统,AnalyticDB Anser框架技术详解
论文提出了一个动态信息传递框架,及一个基于信息流依赖的自适应调度器,来进行执行中长查询的智能优化,有效提升查询性能