conda cudf 升级_cuDF - 支持CUDA的DataFrame库_人才市场的博客-程序员秘密

技术标签: conda cudf 升级  

 cuDF - GPU DataFrames

NOTE: For the latest stable README.md ensure you are on the master branch.

Built based on the Apache Arrow columnar memory format, cuDF is a GPU DataFrame library for loading, joining, aggregating, filtering, and otherwise manipulating data.

cuDF provides a pandas-like API that will be familiar to data engineers & data scientists, so they can use it to easily accelerate their workflows without going into the details of CUDA programming.

For example, the following snippet downloads a CSV, then uses the GPU to parse it into rows and columns and run calculations:

import cudf, io, requests

from io import StringIO

url = "https://github.com/plotly/datasets/raw/master/tips.csv"

content = requests.get(url).content.decode('utf-8')

tips_df = cudf.read_csv(StringIO(content))

tips_df['tip_percentage'] = tips_df['tip'] / tips_df['total_bill'] * 100

# display average tip by dining party size

print(tips_df.groupby('size').tip_percentage.mean())

Output:

size

1 21.729201548727808

2 16.571919173482897

3 15.215685473711837

4 14.594900639351332

5 14.149548965142023

6 15.622920072028379

Name: tip_percentage, dtype: float64

For additional examples, browse our complete API documentation, or check out our more detailed notebooks.

Quick Start

Please see the Demo Docker Repository, choosing a tag based on the NVIDIA CUDA version you’re running. This provides a ready to run Docker container with example notebooks and data, showcasing how you can utilize cuDF.

Installation

CUDA/GPU requirements

CUDA 10.0+

NVIDIA driver 410.48+

Pascal architecture or better (Compute Capability >=6.0)

Conda

cuDF can be installed with conda (miniconda, or the full Anaconda distribution) from the rapidsai channel:

For cudf version == 0.13 :

# for CUDA 10.0

conda install -c rapidsai -c nvidia -c numba -c conda-forge \

cudf=0.13 python=3.6 cudatoolkit=10.0

# or, for CUDA 10.1

conda install -c rapidsai -c nvidia -c numba -c conda-forge \

cudf=0.13 python=3.6 cudatoolkit=10.1

# or, for CUDA 10.2

conda install -c rapidsai -c nvidia -c numba -c conda-forge \

cudf=0.13 python=3.6 cudatoolkit=10.2

For the nightly version of cudf :

# for CUDA 10.0

conda install -c rapidsai-nightly -c nvidia -c numba -c conda-forge \

cudf python=3.6 cudatoolkit=10.0

# or, for CUDA 10.1

conda install -c rapidsai-nightly -c nvidia -c numba -c conda-forge \

cudf python=3.6 cudatoolkit=10.1

# or, for CUDA 10.2

conda install -c rapidsai-nightly -c nvidia -c numba -c conda-forge \

cudf python=3.6 cudatoolkit=10.2

Note: cuDF is supported only on Linux, and with Python versions 3.6 or 3.7.

See the Get RAPIDS version picker for more OS and version info.

Build/Install from Source

Contributing

Contact

Find out more details on the RAPIDS site

Open GPU Data Science

The RAPIDS suite of open source software libraries aim to enable execution of end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA CUDA primitives for low-level compute optimization, but exposing that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.

Apache Arrow on GPU

The GPU version of Apache Arrow is a common API that enables efficient interchange of tabular data between processes running on the GPU. End-to-end computation on the GPU avoids unnecessary copying and converting of data off the GPU, reducing compute time and cost for high-performance analytics common in artificial intelligence workloads. As the name implies, cuDF uses the Apache Arrow columnar data format on the GPU. Currently, a subset of the features in Apache Arrow are supported.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_35840528/article/details/112956636

智能推荐

变形金刚历史_fxcan的博客-程序员秘密

  相信与变形金刚有关的最早生命应该是至尊太君,他到底是什么已经无从考证,现在只知道他掌握着无比先进的科学。他倾其所有制造了宇宙大帝(Unicron)。但是不久后他就发现宇宙大帝是个失败品,他不再听从至尊太君的命令甚至想要取代他。最后至尊太君不得不销毁了宇宙大帝,改变了他的外型,使他看起来象一颗行星。之后他意外的遗失了能毁灭宇宙大帝的具有无穷潜力的钥匙。 而这个钥匙正是掉在了已经有生命形式存在的塞

校招面试题7------京东_Mar.三月的博客-程序员秘密

7.Linux命令相关,问有一个文件A.txt,里面有许多行,找出其中带关键字'B'的行,并统计重复度。cat filename |grep 关键字搜索命令grep8.假如在服务器上执行一个进程时,你发现服务器很卡顿,你会怎么查找原因。检查进程,有否内存泄漏6.JDK1.8和之前版本的区别JDK7新特性:1,switch中可以使用字串了2、在try catch异...

核心技术与算法学习笔记:中文分词技术_XB_please的博客-程序员秘密

目录:1.常用分词(包括规则分词 、 统计分词 以及混合分词等)的技术介绍2.开源、中文分词工具一一Jieba 简介难点:分词歧义、未登录词、分词粒度粗细等都是影响分词效果的重要因素方法:规则分词、统计分词和混合分词(规则+统计)1. 常用分词的技术介绍1.1规则分词基于规则的分词是一种机械分词方法,主要是通过维护词典,在切分语句时,将语句的每个字符串与词表中的词进行逐一匹配找到则切...

Linux下基于socket多线程并发通信的实现_scdxmoe的博客-程序员秘密

http://blog.csdn.net/chenzhoutong/article/details/6436807  Linux下基于socket多线程并发通信的实现分类: Linux2011-05-21 18:13 8455人阅读 评论(5) 收藏 举报socket多线程linuxserverstruct服务器[cpp] view plaincopy

iOS逆向之对称算法(下)_swfit中cccrypt的使用_iOS大鑫的博客-程序员秘密

本文主要是对称算法的终端演示+代码演示OpenSSL终端演示下面主要采用DES、AES和 ECB、CBC两两组合的方式进行演示,涉及的终端命令主要有以下一些加密AES + ECB加密“hello”字符串echo -n hello | openssl enc -aes-128-ecb -K 616263 -nosalt | base64AES + CBC加密“hello”字符串echo -n hello | openssl enc -aes-128-cbc -iv 0102030

JS中创建一个新的对象的方法_小白旗的博客-程序员秘密

1、工厂模式弊端:没有解决对象的识别问题,即怎么知道一个对象的类型。 2、构造函数模式 与工厂模式相比: 1、没有显式的创建对象 2、直接将属性和方法赋给了this对象 3、没有return语句 要创建person的实例,必须使用new操作符,以这种方式调用构造函数实际上会经历4个步骤: 1、创建一个新对象 2、将构造函数的作用域赋给

随便推点

数组_aaronthon的博客-程序员秘密

一、数组数组(array)表示的是可以在给定的索引位置访问或替代的项的一个序列。你可能认为,这表述和python列表的表述有点像。实际上,python列表的底层数据结构就是数组。尽管python程序员通常会在你想要使用数组的地方使用列表,但是在python和许多其他的编程语言中,集合中的实现结构主要是数组,而不是列表。因此,需要熟悉数组的方式来思考问题。程序员可以在未定的位置访问或替...

MATLAB之牛顿迭代法_matlab newton迭代法函数_天涯铭的博客-程序员秘密

MATLAB之牛顿迭代法一、算法原理1、迭代公式将 f (x)在点xk做Taylor展开则有由上式可得牛顿迭代公式为:X(k+1)=X(k)- f (X(k))/f’(X(k))2、牛顿法的几何意义由上式可知,如果如果我们选择x0作为初始点,点(x0,f(x0))的切线方程为y-f(x0)=f’(x0)(x-x0),该切线方程与x轴交点的横坐标为X(1)=X(0)- f (X(...

如何处理僵尸进程_如何用命令打印出僵尸进程_FateDier的博客-程序员秘密

1.什么是僵尸进程        如果父进程在子进程之前终止,则所有的子进程的父进程都会改变为init进程,我们称这些进程由init进程领养。这时使用ps命令查看后可以看到子进程的父进程ppid已经变为了1。        而当子进程在父进程之前终止时,内核为每个终止子进程保存了一定量的信息,所以当终止进程的父进程调用wait或waitpid时,可以得到这些信息。这些信息至少包括进

2021-06-02 Java基础学习笔记_hansz0804的博客-程序员秘密

Java基础学习笔记If选择结构语法结构:1. if单选择结构if(布尔表达式){//如果布尔表达式为true将执行的语句}2. if双选择结构if(布尔表达式){//如果布尔表达式的值为true}else{//如果布尔表达式的值为false}3. if多选择结构if(布尔表达式1){//如果布尔表达式1的值为true执行代码}else if(布尔表达式2){//如果布尔表达式2的值为true执行代码}else if(布尔表达式3){//如果 布尔表达式3的值为t

html5中watchPosition,HTML5地理位置watchPosition只调用一次_鲁米那的博客-程序员秘密

boortmans..6几个月前我一直在做类似的事情.我记得有同样的问题.也许这会有所帮助.$(document).ready(function(){initLocationProcedure();}function initLocationProcedure() {map = new google.maps.Map(document.getElementById('map_canvas'), {...

aragon19 Android App,DApp_dappcon19: 以太坊社区基金将与status和aragon一起开发以支持dapp..._cx不二的博客-程序员秘密

8月21日-23日,DappCon19 正在德国柏林举办区块链周活动。此次大会,有60多个项目参与演讲,吸引了1000多人到场参会,区块链活动周将围绕治理、基础设施、开发者工具、DeFi、可扩展性、社区、用户体验 UX/UI、隐私展开一系列的分享和讨论。21日,在主会场上 Status 的创始人 Jarrad 和大家分享了团队开发最新进展,并向大家展示了亲民实用的开源工具- Embark,Emb...

推荐文章

热门文章

相关标签