GPU异构计算和CUDA程序简介—中国科大超级计算中心用户使用手册:202405

近年来,随着人工智能、高性能数据分析和金融分析等计算密集型领域的兴起,传统通用计算已经无法满足对计算性能的需求,异构计算越来越引起学术界和产业界的重视。

异构计算是指采用不同类型的指令集和体系架构的计算单元组成系统的计算方式。相比传统CPU,异构计算可以实现更高的效率和更低的延迟。目前的异构计算引擎主要有图形处理器(GPU,GraphicsProcessingUnit)、现场可编程门阵列(FPGA,FieldProgrammingGateArray)、专用集成电路(ASIC)等。

当前的通用CPU设计得已经很复杂,配有几十个核心,运行频率高达几GHz,每个核心有自己的独立缓存。通常CPU已具备一级、二级、三级缓存。而GPU是目前科研领域比较常用的硬件计算工具。GPU的计算核心数通常是CPU的上百倍,运行频率尽管比CPU的低,但是核心数量多,整体性能好。所以,GPU比较适合计算密集型应用,比如视频处理、人工智能等,现在传统的科学计算、工程计算等也开始越来越适合在GPU上运行。相比来说,CPU的缺点就是太通用了,数据读写、计算、逻辑等各种功能都得照顾,反而影响了计算性能。

通用图形处理器(GPGPU,GeneralPurposeGraphicsProcessingUnit)最早由NVIDIA公司的MarkJ.Harris于2002年提出。基于图形渲染管线的流水线特征,GPU本质上是一个可同时处理多个计算任务的硬件加速器。由于GPU中包含了大量的计算资源,MarkJ.Harris自2002年就开始尝试在GPU上做通用并行计算方面的研究。在此阶段,由于架构及编程平台的限制,研究人员采用将目标计算算法转换为图形运算算法的方式,使用GPU来实现通用并行计算需求。

NVIDIA公司提出Tesla统一渲染架构以及CUDA(ComputeUnifiedDeviceArchitecture,计算统一设备架构)编程模型后,NVIDIA公司的GPU开始了对通用并行计算的全面支持。在CUDA提出近两年之后,开放计算语言标准OpenCL1.0发布,这标志着利用GPU进行通用并行计算已基本成熟。目前市场上应用甚广的GPU芯片除了完成高质量的图形渲染之外,通用并行计算也已经成为一个主流应用。GPGPU在各个方面得到了不同GPU厂家为GPU通用计算提供的编程模型与平台,如CUDA和OpenCL,这些编程模型在C/C++基础之上做了面向大规模通用并行计算的语法扩展,为程序员提供了更好的、面向GPU的编程接口。

GPGPU通常由成百上千个架构相对简易的基本运算单元组成。在这些基本运算单元中,一般不提供复杂的诸如分支预测、寄存器重命名、乱序执行等处理器设计技术来提高单个处理单元性能,而是采用极简的流水线进行设计。每个基本运算单元可同时执行一至多个线程,并由GPGPU中相应的调度器控制。GPGPU作为一个通用的众核处理器,凭借着丰富的高性能计算资源以及高带宽的数据传输能力在通用计算领域占据了重要的席位。虽然各个GPGPU厂商的芯片架构各不相同,但几乎都是采用众核处理器阵列架构,在一个GPU芯片中包含成百上千个处理核心,以获得更高的计算性能和更大的数据带宽。

GPU中执行的线程对应的程序通常成为内核(kernel),这与操作系统中的内核是完全不同的两个概念。除此之外,GPU中执行的线程与CPU或者操作系统中定义的线程也有所区别,GPU中的线程相对而言更为简单,所包含的内容也更为简洁。在GPU众核架构中,多个处理核心通常被组织成一个线程组调度执行单位,线程以组的方式被调度在执行单元中执行,如NVIDIA的流多处理器、AMD的SIMD执行单元。同一个线程组中的线程执行相同的程序指令,并以同步的方式执行,每个线程处理不同的数据,实现数据级并行处理。不同GPU架构对线程组的命名各不一样,如NVIDIA将线程组称为warp,AMD将线程组称为wavefront。线程组中包含的线程数量各不相同,从4个到128个不等。除此以为,线程组的组织执行模式也各不相同,常见的执行模式有SIMT(SingleInstructionMultipleThreads,单指令多线程)执行模式和SIMD(SingleInstructionMultipleData,单指令流多数据流)执行模式两种。

了解CPU和GPU之间差异的一种简单方法是比较它们处理任务的方式。CPU由几个针对顺序串行处理优化的内核组成,而GPU具有大规模并行架构,由数千个更小、更高效的内核组成,旨在同时处理多个任务。

在GPU上解决计算问题原则上类似于使用多个CPU解决问题。手头的任务必须拆分为小任务,其中每个任务由单个GPU内核执行。GPU内核之间的通信由GPU芯片上的内部寄存器和内存处理。CUDA或OpenCL等特殊编程语言不是使用消息传递进行编程,而是提供主机CPU之间的数据交换和同步GPU内核的机制。

一个现代超级计算系统实际上可能由大量节点组成,每个节点包含2到32颗常规CPU以及1到16个GPU。通常还会有一个高速网络和一个数据存储系统。该系统的软件可以使用传统编程语言(如C/C++、Fortran等)的组合编写,结合用于CPU并行化的消息传递系统以及用于GPU的CUDA或OpenCL。所有这些组件都必须进行调整和优化,以实现整个系统的最佳性能。

CUDA是由NVIDIA公司推行的一套并行编程框架,目前只有NVIDIA的GPU支持该框架,其开发语言主要为CUDAC。作为一种GPU的并行开发语言,CUDA的API涉及设备管理、存储管理、数据传输、线程管理、事件管理等功能。

CUDA的存储模型主要分为全局存储(globalmemory)、局部存储(localmemory)、共享存储(sharedmemory)、常量存储(constantmemory)和纹理存储(texturememory)等存储类型。不同的存储类型,其存储容量、可见程度、读写速度差异巨大,需要在程序设计中根据各自特点和应用问题的需求合理调配。

CUDA的编程模型和执行模型按照层次结构分层设计。CUDA的执行模型由3个层级组成,最基础的执行单位是线程(thread),多个线程组成一个线程块(block),多个线程块形成线程网格(grid)。

CUDA编程模型作为一个异构模型,其中使用了CPU和GPU。在CUDA中,主机(host)指的是CPU及其存储器,设备(device)是指GPU及其存储器。在主机上运行的代码可以管理主机和设备上的内存,还可以启动在设备上执行的内核函数(kernel)。这些内核由许多GPU线程并行执行。

鉴于CUDA编程模型的异构性,CUDAC程序的典型操作序列是:

CUDA应用程序的源代码由传统的C++主机代码和GPU设备函数混合组成。CUDA编译过程将设备函数与主机代码分开,使用专有的NVIDIA编译器和汇编器编译设备函数,使用可用的C++主机编译器编译主机代码,之后将编译过的GPU函数嵌入到主机对象(object)文件。在链接阶段,向最终生成的可运行二进制文件添加特定的CUDA运行时库函数,如支持远程SPMD过程调用的运行时库函数、显式GPU操作的运行时库函数(如分配GPU内存缓冲区,主机与设备之间的数据传输等)。

编译过程涉及每个CUDA源文件的拆分、编译、预处理和合并步骤。为了将上述复杂的编译过程向开发人员隐藏,NVIDIA公司设计了CUDA编译器引擎程序nvcc。nvcc接受一系列常规编译器选项,例如宏定义和头文件、函数库路径设置,支持编译过程的组合。所有非CUDA编译步骤都被转发到nvcc支持的主机C++编译器,编译选项到主机C++编译选项的转换也由nvcc自动完成。

预定义宏

含义

__NVCC__

编译C/C++/CUDA源文件时预定义

__CUDACC__

编译CUDA源文件时预定义

__CUDACC_VER_MAJOR__

NVCC主版本号

__CUDACC_VER_MINOR__

NVCC次版本号

__CUDACC_VER_BUILD__

NVCC编译版本号

输入文件后缀

描述

.cu

CUDA源文件,包含主机代码和设备函数

.c

C源文件

.cc,.cxx,.cpp

C++源文件

.o,.obj

目标文件(objectfile)

.a,.lib

库文件(libraryfile)

.res

资源文件(resourcefile)

.so

共享目标文件(sharedobjectfile)

选项

-ofile

配置输出文件名和路径

-llibrary,…

配置链接阶段链接的库文件

-Ddef,…

定义预处理阶段使用的宏

-Udef,…

取消宏定义

-Ipath,…

配置头文件搜索路径

-Lpath,…

配置库文件搜索路径

-cudart{none|shared|static}

配置CUDA运行时库的类型,默认使用静态(static)

-cudadevrt{none|static}

配置CUDA设备运行时库的类型,默认使用静态(static)

-pg

生成供gprof使用的可执行代码

-g

编译带调试信息的主机代码

-G

编译带调试信息的设备代码

-Olevel

指定主机代码的优化级别

-doptkind

允许设备端代码优化。当不指定-G选项时,设备端代码优化是默认的行为

-shared

生成共享库

-x{c|c++|cu}

显式指定待编译的输入文件的编程语言,而不是由编译器根据文件后缀自动判断

-std{c++03|c++11|c++14|c++17}

指定c++标准的版本

下表列举了可以直接传递给nvcc封装的内部编译工具的编译选项。通过这些选项的应用,nvcc不需要具备对内部编译工具的过多细节的了解。

-Xcompileroptions,…

指定直接传递给编译器/预处理器的编译选项

-Xlinkeroptions,…

指定直接传递给链接器的编译选项

-Xarchiveoptions,…

指定直接传递给库管理器的编译选项

-Xptxasoptions,…

指定直接传递给ptxas(PTX优化汇编器)的编译选项

-Xnvlinkoptions,…

指定直接传递给nvlink(设备链接器)的编译选项

-arch{arch|native|all|allmajor}

指定编译阶段使用的虚拟GPU类型

-codecode,…

指定汇编优化使用的具体GPU类型

-use_fast_math

使用快速数学计算库

为了实现架构演进,NVIDIA的GPU以不同的世代(generation)发布。新一代产品在功能和/或芯片架构方面进行重大改进,同时同一代产品中的GPU型号仅在配置方面存在次要差别,对功能、性能的影响适中。不同代的GPU其应用程序的二进制兼容性是没有保证的。例如,为FermiGPU编译的CUDA应用程序很可能无法在KeplerGPU上运行(反之亦然)。这是因为每一代的指令集和指令编码与其他世代的指令编码都不相同。同一代的GPU由于共享相同的指令集,在满足特定条件下其二进制兼容性可以得到保证。特定条件通常是指两个没有功能差异的GPU版本之间的情况(例如,当一个版本是另一个版本的缩减版),或者当一个版本在功能上完全包含在另一个版本中。后者的一个例子是基础Maxwell版本sm_52,其功能是所有其他Maxwell版本的一个子集:任何为sm_52编译的代码将可以在所有MaxwellGPU上运行。

nvcc编译命令总是使用两个架构:一个虚拟的中间架构,加上一个真实的GPU架构(指定代码将运行的平台)。要使nvcc命令有效,真实架构必须是虚拟架构的实现。

虚拟GPU完全由提供给应用程序的能力和特征定义。虚拟架构提供了一个通用的指令集合,并且不涉及二进制编码格式。虚拟架构列表如下:

虚拟架构(-arch参数)

特征描述

真实架构(-code参数)

下面介绍一个简单的CUDAC程序例子,演示如何在瀚海22上编译运行CUDA代码。

例子展示的是两个向量相加的CUDA代码add.cu。

#include#include#include__global__voidadd(intn,float*x,float*y,float*z){inti=blockIdx.x*blockDim.x+threadIdx.x;if(i>>(N,d_x,d_y,d_z);cudaMemcpy(z,d_z,N*sizeof(float),cudaMemcpyDeviceToHost);floatmaxError=0.0f;for(inti=0;i

float*x,*y,*z,*d_x,*d_y,*d_z;x=(float*)malloc(N*sizeof(float));y=(float*)malloc(N*sizeof(float));z=(float*)malloc(N*sizeof(float));cudaMalloc(&d_x,N*sizeof(float));cudaMalloc(&d_y,N*sizeof(float));cudaMalloc(&d_z,N*sizeof(float));指针x、y和z分别指向使用malloc分配的主机内存空间,d_x、d_y和d_z指针分别指向使用CUDA运行时APIcudaMalloc函数分配的设备存储空间。CUDA中的主机和设备有独立的内存空间,这两个空间都可以从主机代码进行管理。

为了初始化设备数组,使用cudaMemcpy将数据从x和y复制到相应的设备数组d_x和d_y,它的工作方式与标准的Cmemcpy函数一样,只是增加了第四个参数,指定拷贝的方向。在这里,我们使用cudaMemcpyHostToDevice指定第一个(目标)参数是设备指针,第二个(源)参数是主机指针。

cudaMemcpy(d_x,x,N*sizeof(float),cudaMemcpyHostToDevice);cudaMemcpy(d_y,y,N*sizeof(float),cudaMemcpyHostToDevice);add内核由以下语句启动:

add<<<(N+256-1)/256,256>>>(N,d_x,d_y,d_z);<<<和>>>符号之间的信息是执行配置,指示有多少设备线程并行执行内核。在CUDA中,软件中有一个线程层次结构,它模仿线程处理器在GPU上的分组方式。执行配置中的第一个参数指定网格中线程块的数量,第二个参数指定线程块中的线程数。线程块和网格可以通过为这些参数传递dim3(一个由CUDA用x、y和z成员定义的简单结构)值来生成一维、二维或三维的线程块和网格。对于add这个示例,只需要一维线程组,所以我们只传递整数。在本例中,我们使用包含256个线程的线程块启动内核,并使用“上整计算”来确定处理数组全部N个元素所需的线程块数((N+256-1)/256)。

由于数组的元素数有不能被线程块大小整除的可能,内核代码必须检查内存访问是否越界。

在运行内核之后,使用cudaMemcpy(拷贝方向:cudaMemcpyDeviceToHost),从d_z指向的设备数组复制到z指向的主机数组,将结果返回给主机。

cudaMemcpy(z,d_z,N*sizeof(float),cudaMemcpyDeviceToHost);程序的最后,使用cudaFree()和free()分别清理设备端和主机端申请的内存。

备注

本小节的简单例子用于展示瀚海22超级计算系统上CUDA程序的编译运行(交互式)的一般流程。

瀚海22超级计算系统系统预装了NVIDIAHPCSDK(nvhpc),方便用户充分利用GPU计算资源,实现科学计算应用和性能优化等工作。

NVIDIAHPCSDK是NVIDIA公司提供的一个包含编译器、函数库和软件工具的软件包,包含了用于方便用户开发、增强程序性能和可移植性的一系列工具。NVIDIAHPCSDKC、C++和Fortran编译器支持使用标准C++和Fortran、OpenACC指令和CUDA对HPC建模和模拟应用程序进行GPU加速。GPU加速的数学库使普通HPC算法的性能最大化,优化的通信库使基于标准的多GPU和可扩展系统编程成为可能。性能剖析和调试工具简化了HPC应用程序的移植和优化,而容器化工具则使得在企业内部或在云端的部署变得容易。HPCSDK支持NVIDIAGPU和运行Linux的Arm、OpenPOWER或x86-64CPU,为用户提供了构建NVIDIAGPU加速的HPC应用程序所需的工具。

陈国良,吴俊敏.并行计算机体系结构(第2版)[M].北京:高等教育出版社,2021.

THE END
1.TheBizLibraryBlogBizLibraryWhy BizLibrary Company Resources Request a DemoThe BizLibrary BlogRead the latest news and research in thelearning and development industry Carlos Ardila | Dec 12, 2024 BizLibrary’s Top 10 Articles of 2024 Curious to know which topics HR and L&D pros found most valuable to read abhttps://www.bizlibrary.com/blog/
2.歡迎來到輔仁大學圖書館輔仁大學圖書館可查詢本館紙本圖書、電子書、期刊、視聽多媒體資源、學位論文等館藏。館藏查詢∥進階查詢 最新消息 服務公告 資源利用講習 資料庫試用/異動 活動與展覽 其他活動 公告時間公告類型公告內容 ?2024-09-09服務公告?113學年上學期~國定及校定假日特殊開放時間公告 https://home.lib.fju.edu.tw/TC/index.php/
3.推荐书目:2024年11月光明书榜《仰观与俯察——孙机先生的治学之道》 中国国家博物馆 编 译林出版社 《掌故家的心事》 宋希於 著 中华书局 《虚无与自然——道家哲学的精神》 王博著 北京大学出版社 《海上丝绸之路——从青岛到红海》 高洪雷 著 人民文学出版社 《中国科学考古学的兴起》 陈洪波 著 广西师范大学出版社 http://www.jslib.org.cn/zx/tskx/tjsm/202412/t20241209_298210.html
4.有点突出来自RgoYsein有点突出 LRgoYsein的微博视频 小窗口 ?收藏 转发 评论 ?2 评论 o p 同时转发到我的微博 按热度 按时间 正在加载,请稍候 微关系 她的关注(69) 微博社交会员 Patriiiiiiicia MBTI小行家 Zlibrary官方 她的粉丝(104) 情感勘測機 搜里鸡笼 你车嗯补课用https://weibo.com/7937659707/5111631273005294
5.图书详情I287.7/z7147 00000104208051 借出 2024-06-06 杭州图书馆 杭州图书馆 儿童借阅区 少儿中文图书 6 1 I287.7/z7147 00000104127651 在馆 杭州图书馆 杭州图书馆 生活主题分馆外借 少儿中文图书 3 3 I287.7/z7147 00000104209417 借出 2024-12-14 杭州图书馆 杭州图书馆 少儿分馆少儿区 少儿中文图书 5 2 I287.7https://my1.hzlib.net/opac/book/2006493543
6.Kunming&Vientiane,from'hard'linktoheartlinkSipping Lao coffee in Vientiane in the morning and enjoying rice noodles in Kunming by night is a new way of life thanks to the China-Laos Railway. This railway has bridged time and space, making travel more convenient and bringing the two nations closer. As we celebrate its third http://chinadailyglobal.com/a/202412/17/WS676119f7a310f1265a1d361e.html
7.zlibrary入口网站/最新官方国内可用地址(2024持续更新)zeek国内可访问地址:https://vlink.cc/zlibrary(持续更新中) 官网地址:https://zh.z-lib.gs/ 镜像地址:https://zh.z-lib.fm/ 后台地址:https://singlelogin.re/(登录后跳转到首页) Z-Library 客户端 客户端优势:Z-Library官方客户端每天可以下载20本电子书,比网页版多10本,有助于防止资源丢失或失效。 https://www.cnblogs.com/zlibrary-official/p/18531990
8.zlibrary电子书图书馆官网/最新镜像网址入口zlibrery官网z-library电子书图书馆官网/最新镜像网址入口 Z-library,被誉为全球范围内最为庞大的数字图书馆之一,其藏书量之丰富令人叹为观止,总计囊括了超过9,826,996册电子书及84,837,646篇学术期刊文章。这座庞大的知识宝库覆盖了从经典文学巨著到前沿理工学科,从人文艺术瑰宝到专业学术论文的广泛领域,几乎能够满足每一位https://blog.csdn.net/2409_89114972/article/details/144365797
9.Contents/premium.mdatmaster·Newslab2020/Contents·GitHub中国的平台管理:不只是审查; 风纪委员会:将审核权“外包”; B站作为政府和年轻人之间的“双向中介”。 630 Z-Library 2022/11/10 发生了什么? 是TikTok导致了这次的封禁吗? 出版业的暴利,以及重新想象的可能。 629 内参 2022/11/7 等级制的信息特权; https://github.com/Newslab2020/Contents/blob/master/premium.md
10.中国营养科学全书:全2册(第2版)(杨月欣,葛可佑)(Z版权页图书在版编目(CIP)数据中国营养科学全书:全2册/杨月欣,葛可佑主编.—2版.—北京:人民卫生出版社,2019ISBN978-7-117-28734-0Ⅰ.①中…Ⅱ.①杨…②葛…Ⅲ.①营养学Ⅳ.①R151中国版本图书馆CIP数据核字(2019)第156724号人卫智网www.ipmph.com医学教育、学术、考试、健康,购书智慧智能综合服务平台人卫官https://www.yixiuqixie.com/doc/10904.html
11.library.skshu.com/yyys70316690.shtml同时,中国铁路西安局集团有限公司还与13家企业达成了山东港铁海联运、梁山港铁水联运、重庆港铁水联运library.skshu.com/yyys70316690.shtml 「活动」首次登录送19元红包 43.87MB 版本V3.1.82 下载一,爆操百斯顿玩小美女,Z000 二,金狮主管雀7IIII2扣长久,三级片黄色衣服脱光播放在线http://library.skshu.com/yyys70316690.shtml
12.上海图书馆专业服务门户国外经济学讲座第三册 出版商: 中国社会科学出版社 关于我们 上海图书馆专业服务门户是一个面向研究型用户的学科资源发现及服务提供系统,具有文献搜索、资源导航、学科服务、数据库远程访问、 资源个性化推荐等功能,同时还整合了馆员推荐、文献传递、原书外借、资料查证、收录引证、检索咨询、翻译服务、科技查新、情报https://z.library.sh.cn/
13.全球最大盗版电子书网站ZLibrary:又被美国查封了快科技5月5日讯,沉默了几个月后,美国执法部门开始了针对Z-Library的新一轮打击。 最近几日,Z-Library多个新的主域名被查封,点击后弹出FBI提示。随后,Z-Library通过社媒确认了部分域名被攻击下线的消息,并给出了击中可供登陆的备选方法。 据悉,去年11月,号称是全球最大电子图书馆的Z-Library被美国FBI封禁,连同https://tech.ifeng.com/c/8PXop5HTTWn&wd=&eqid=c8121692000c501a0000000264797ac6
14.ZLibrary入口:最新官网中文网址及镜像入口? 关注我们的导航站 TOP123 导航 可一键收藏、获取 ZLibrary、安娜的档案等最新地址,您也可以通过 TOP123 导航发现更多中国互联网以外的新世界,探索全球视阈里的互联网世界。 访问镜像站点不需要使用 魔法/ 代理 /,点击直达,我加粗的地址是目前进入速度比较快的。镜像站不可用/限制访问是因为同一https://topstip.com/the-worlds-largest-digital-library-z-library-newly-available-official-site-and-mirror/
15.全球数字图书馆扫描图书突破150万册教育频道其中,中国部分(CADAL项目)由浙大和中科院研究生院牵头,国内16所重点高校共同完成。2005年11月门户网站在浙江大学正式开通以来,已吸引全球80多个国家的用户,日均点击量达已达30万次;日均浏览图书近4000册。随着印度、埃及等国的加入, “百万册数字图书馆”定名为全球数字图书馆(Universal Digital Library, UDL)。“http://edu.cnr.cn/jryw/200711/t20071128_504640539.html
16.npm官网Search Sign UpSign In We're GitHub, the company behind the npm Registry and npm CLI. We offer those to the community for free, but our day job is building and selling useful tools for developers like you. Take your JavaScript development up a notch http://www.npmjs.com/
17.Zlibrary—全球最大的数字图书馆,900万本名著免费下载!zlibraryzlibrary镜像网站地址 这个网站是我最近发现的最为巨大的宝藏网站,Zlibrary被称为全球最大的数字图书馆,里面包含 9,826,996 本电子书,84,837,646 篇期刊文章。 从各种知名文学著作,理工学科,人文艺术、到学术论文等应有尽有!绝对是你找书的不二选择。https://www.dzpc.net/resources/network-digest/71227.html
18.干货全网最全14大主流英语分级读物介绍与盘点RAZ官网 官方App是Kids A-Z(包括Raz-Kids,Raz-Plus和Sciences A-Z) 原版的优点在于同步更新,内容全面,但是由于服务器在美国,所以经常网页刷新速度非常缓慢,影响用户体验,需要使用加速器。 除了原版,很多家长也会选用祖国版或好未来引进中国正版书ABC Time(对应Raz AA-L级,精选版)。(Saz目前仅有祖国版) https://m.xiaohuasheng.cn/blog/b1f06cc9d0132120
19.Zlibrary的官网地址是什么1.官网:https://singlelogin.re/ 2.镜像站1:https://zlib.app/ 3.影子站点:zh.annas-archive.org 4.镜像站1:https://1lib.tk/(暂时无效) 5、快速入口:https://zlib.yibook.org/ 想了解更多关于Zlibrary的官网地址是什么的内容,请扫微信 https://www.soufuzi.com/ziyuan/1824
20.ZLibrary数字图书馆官网镜像网站办公人导航提醒:必须充钱或者捐助才能下载的都是假的官网,存在风险,大家可以更换其他免费下载的网站。zlibrary国内无法访问,可以科学上网或者下方的工具访问,也可以选择使用其他书籍资源网站替代。 需要什么电子书,通过办公人导航分享的电子书网站,基本都能找到,不需要花钱去购买或者找人代找。掌握方法,自己想找什么资源,https://www.bgrdh.com/sites/6145.html
21.ZLibrary官网,ZZ-Library 世界上最大的电子图书馆。自由访问知识和文化。 Download books for free. Find books 收录时间: 2024-02-07 其他站点: Z-Library 世界上最大的电子图书馆。自由访问知识和文化。 Z-Library 世界上最大的电子图书馆。自由访问知识和文化。 Download books for free. Find books https://www.info35.com/url/25314.html
22.ZLibrary官网全球最大电子图书馆,自由获取知识与文化Z-Library – 世界上最大的电子图书馆,自由访问知识和文化。 知名的影子图书馆,拥有海量的多语言多格式电子书资源,普通用户每天可下载 10 本电子书。 Z-Library项目的目标 Z-Library存在的主要目标是提高全世界人们的教育水平。 我们相信,实现这一目标的关键是确保能够最轻松地访问书籍。 因为在整个人类历史上,书籍https://tools.voidke.com/sites/2024.html
23.Zlibrary宝藏指南最新官网需要“翻墙”访问 作为全球最大的电子书网站,不少国人经常去上面下载文献或者小说。但由于国内网络环境(懂得都懂),Zlibrary的网址经常改了又改。 虽然我也经常更新,但不可能很及时,都是别人私信后网址不能用后才更新。 不过最近Zlibrary官方推出了一款浏览器插件,能够自动寻找最新的Zlibrary网址,非常方便(~https://www.baozangzhinan.com/sites/2750.html
24.Zlibrary电子图书馆今天给大家带来一个免费下载各种经典名著的网站——Z-library。相信互联网的诸多大佬早已知晓此网站,并精通各种白嫖方法,不过我“火烧云”同志呢在此献上一条丑计,供小白们参考(大佬就手下留情)。 因为国内的种种原因啊,Z-library本身国内无法像百度这种网站一样,一搜就来。所以我们就只能去访问它的镜像网站,Z-lihttps://www.clzg.cn/article/411380.html
25.Z文章目录 ZLibrary访问地址 备份及替代网站等 Z-Library 是世界上最大的数字图书馆,可以免费下载很多电子书,我们通常忽略中间的横线写做ZLibrary(字母“Z”后边的“ZLibrary”即“图书馆”的意思,看到网上有做“zliabary”或“zlibirary”的均为误写)。 ZLibrary无需注册即可免费下载书籍,不过访客一天内只能下载5https://www.1itao.com/z-library.html
26.Zlibrary入口/国内最新官网地址及镜像网址(持续更新)Z-library入口/国内最新官网地址及镜像网址(持续更新) Z-是一家电子图书馆,被誉为全球更大的科学图书和学术文献免费资源之一。它创办于2009年,截至2022年10月1日,已收录超过1129万本图书和8483万篇学术文章。从各种知名文学著作,理工学科,人文艺术、到学术论文等应有尽有!支持PDF、epub、mobi等多种格式图书资源http://www.5wst.com/77961.html
27.zlibrary电子图书馆官网网址入口zlibrary电子图书馆官网网址入口 zlibrary是全球最大的电子图书馆之一,由于大家都知道的原因,zlibrary的主域名和许多的镜像网址都被封禁了。但是还是有个别网址是能够正常访问的,小编通过关注zlibrary官方telegram账号,获得了zlibrary目前还可以正常访问的网址,现在分享给大家。如果你不能正常打开,则需要海外网络,大家都懂https://youxihudie.com/gonglue/52055.html
28.zlibrary镜像网址网站服务:zlibrary官网登录,zlibrary镜像网站,zlibrary镜像网址。 Z-Library – 世界上最大的电子图书馆。自由访问知识和文化。 | Z-Library. Download books for free. Find books 最新zlibrary镜像网址入口2023,zlibrary官网登录,全球最大的数字图书馆 https://openi.cn/sites/109541.html
29.随意门导航z-lib站 Z-library镜像网站以及国内可访问地址持续更新中 27.8K 117 z-libraryz-library入口z-library官网z-library打不开 chatgpt3.5 ChatGPT3.5是MOOC中国 收录全球优秀开放式在线课程的中文慕课网 420 0 好好学习综合平台 喜马拉雅 专业音频分享平台 310 0 好好学习综合平台 懒人听书 综合性有声阅读https://www.rymdh.com/