作者文章归档:betteryuan

Pytorch Paddle TensorFlow 在一个GPU上运行


Pytorch Paddle TensorFlow 在一个GPU上运行

借助Anaconda,可以设置不同的环境 cuda-toolkit cudnn匹配网址 https://developer.nvidia.com/rdp/cudnn-archive

1. 安装Anaconda

https://www.anaconda.com/products/distribution

安装完成后,在windows下可以打开 Anaconda Prompt (可以用管理员运行,可能有部分库需要管理员权限)

2.1 安装Pythorch

参考 https://pytorch.org/

pytorch

conda crea

Read more

Greenplum 查询优化器


Greenplum 查询优化器

Greenplum 查询优化器介绍

对于给定的查询语句,找到“代价”最小的查询计划

查询计划介绍

一个查询计划就是由计划节点组成的树
每个计划节点代表一个特定类型的处理操作,计划节点中包含了执行器执行所需的全部信息
在执行时,计划节点产生输出元组
一般来说,扫描节点从数据表中获取输入元组
大部分其他节点从它们的子计划节点中获取输入元组

计划节点的类型

  • 扫描节点
    • 顺序扫描,索引扫描,位图扫描
  • 连接节点
    • Nestloop, hash, merge
  • 非SPJ节点
    • Sort, aggregate, set operation(UNION etc)

Gre

Read more

Greenplum 执行器


Greenplum 执行器

什么是执行器

执行器处理一个由执行计划节点组成的树,并返回查询结果

原发性扫描节点

scan

非原发性扫描节点

join agg

执行模型

迭代模型(pipeline模型,Pull方式)

每一个执行节点实现一个next函数,并遵循

  1. 每一次调用,返回一个tuple或者返回NULL
  2. 实现一个循环,每次调用执行子节点的next函数作为输入并处理

优点:易懂,资源使用少,通用性好
缺点:迭代次数多,代码局部性差,CPU cacheline不友好

向量化模型(Vectorization Model)

和迭代模型一样,每一个执行节点实现一个next函数,区别在于
每一次迭

Read more

Greenplum 架构


Greenplum 架构

Greenplum 整体架构

Greenplum 本质上是单机Postgres组成的数据库集群,对外提供统一的数据库接口,并针对集群处理做了大量优化
基于MPP无共享拓扑
数据分片 分区 分表 分库

分片:分布到不同的节点
分区:概念比较广泛,水平分区、垂直分区

0. 系统空闲状态

postmaster 是数据库主进程,监控用户请求

1. 客户端建立会话连接

客户端通过libpq协议发送连接请求给Greenplum master节点

master节点上postmaster进程会监听连接请求,并处理

2. Master fork 一个进程处理客户端请求

master节点

Read more

Win10+Cuda+Pytorch


1. 流程

1.1 打开torch官网

https://pytorch.org/get-started/locally/

xxx

1.2 上图会告诉下载的Cuda tookit 版本,以及如何下载torch,torchvision

1.3 安装cuda tookit

https://developer.nvidia.com/cuda-11.3.0-download-archive

1.4 安装torch,torchvision

pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio===0.10.0+cu113 -f

Read more