一种异构平台神经元定位三级流水并行方法、系统及介质与流程

文档序号:18451061发布日期:2019-08-17 01:16阅读:288来源:国知局
一种异构平台神经元定位三级流水并行方法、系统及介质与流程

本发明涉及神经回路精细结构的解析方法,具体涉及一种异构平台神经元定位三级流水并行方法、系统及介质,用于基于cpu-gpu异构计算平台实现神经元定位并行计算。



背景技术:

神经回路信息是理解脑功能和脑疾病机制的关键,如何实现神经回路大数据的自动追踪,是脑科学等神经领域研究所面临的关键科学问题之一。神经元定位是神经回路数据解析的关键,通过对神经回路图像数据进行分析得到精确的神经元胞体位置,是后续定量分析的基础。

典型的大尺度范围神经元定位方法基于“每个细胞有且只有一个胞体”这一生物学事实,通过数学方法(如1范数最小化思想)整合建立生物物理模型,并通过求解该模型来进行大范围的神经元定位。这类方法对大尺度范围中多种细胞类型、形状、大小以及分布密度等都有很好的鲁棒性,因而是目前高精度神经回路图像数据集的大尺度范围神经元定位的主要方法,但是该方法能够处理的图像规模受限于单个计算节点的内存容量,处理速度受限于单个计算节点的计算性能。

随着观测技术的不断进步,高精度神经回路图像数据集的数据规模迅速增大,特别是光学分子标记和显微成像技术的巨大进步,使得高分辨率获取全脑数据成为现实。由于灵长类动物大脑体积较大,按照当前most成像技术计算,对10立方厘米的大范围数据进行各向1微米分辨率的成像,会产生百tb数据。基于现有的神经元定位方法,处理1gb数据需要1个小时,以1tb数据为例,需要1000小时,也就是40多天,这种。如何从密集的神经群tb级海量数据中高效定位神经元,在图像处理方面仍然是巨大的挑战,已成为严重制约能否将获取的数据转化为知识的瓶颈问题。

图形处理器(graphicprocessingunit,gpu)采用了与传统的通用多核处理器完全不同的全新设计架构。gpu专门针对大规模的数据并行计算模式而设计,这类计算模式的典型应用包括图形及视频的处理、大规模矩阵计算以及数值模拟等场景。与通用多核处理器不同,gpu大量采用simd(singleinstructionmultipledata)结构以实现在同一个处理器通路下的数据和指令并行。随着gpu可编程性不断增强,特别是cuda等编程环境和一系列高级调试工具的出现,使gpu通用计算编程的复杂性大幅度降低,全面开启了gpu面向通用计算的新时代。通用计算图像处理器(gpgpu)已经发展成高并行度,多线程,拥有强大计算能力和高存储器带宽的众核处理器。

与同构并行体系结构相比,由通用处理器cpu和协处理器gpu构成的异构并行体系结构是一种更适合大规模计算密集型任务的结构。异构并行体系结构能有效地适应多应用领域程序特征的复杂性,实际应用效率高,顺应了超大规模集成电路芯片容量快速增长的趋势,同时能够满足应用程序特征日趋多样化的发展需求。异构体系结构包含了不同结构的处理器,有事务处理型的通用处理器cpu和计算型的专用处理器gpu,用不同类型的处理器处理不同的任务,是异构体系结构的优势所在。

然而由于cpu-gpu异构计算模型与传统的cpu同构计算模型不同,现有基于cpu的程序无法直接运行在gpu上。并且由于gpu无法直接访问cpu的存储空间,为了利用gpu的计算能力,必须在计算开始前将输入数据从cpu端的内存传输到gpu端的显存,在计算结束后将计算结果从gpu端的显存传输到cpu端的内存,如此往复,直到所有计算任务执行完毕。cpu与gpu之间频繁的数据传输占用了大量的程序运行时间,很大程度上影响了程序的运行效率。如何提高cpu和gpu的计算效率,降低cpu与gpu间数据传输开销是开发面向cpu-gpu异构体系结构的神经元定位算法的难点。目前还没有利用cpu-gpu进行神经元定位的技术方案的公开报导。



技术实现要素:

本发明要解决的技术问题:针对现有技术的上述问题,提供一种异构平台神经元定位三级流水并行方法、系统及介质,本发明能够提高神经元定位的处理速度,具有神经元定位速度快,程序执行总时间短,三级流水线实现灵活且支持参数配置、易于移植与推广的优点。

为了解决上述技术问题,本发明采用的技术方案为:

一种异构平台神经元定位三级流水并行方法,实施步骤包括:

1)根据图像尺寸和计算粒度将切片图像数据计算分块参数;

2)基于分块参数在cpu端以及gpu端分别进行存储空间分配;

3)变量和存储空间初始化;

4)由cpu进行任务调度,通过cpu和gpu同时采用三级流水线的方式执行计算任务,每一个计算任务包括数据读入、定位计算和数据写回三个步骤,且中间每一轮计算任务在执行定位计算的同时执行上一轮计算任务的数据写回、并执行下一轮计算任务的数据读入,使得数据读入、定位计算和数据写回三个步骤并行进行。

优选地,步骤1)的详细步骤包括:

1.1)计算gpu上可支持计算的最大数据块尺寸gsizemax,gsizemax为正整数:

1.2)分别确定x,y,z方向的分块尺寸和分块数量以及分块总数量:如果xdim<gsizemax,则设置x方向分块尺寸xscale的值为xdim,否则设置xscale的值为gsizemax,设置x方向分块数量xnum的值为如果ydim<gsizemax,则设置y方向分块尺寸yscale的值为ydim,否则设置yscale的值为gsizemax。设置y方向分块数量ynum的值为如果zdim<gsizemax,则设置z方向分块尺寸zscale的值为zdim,否则设置zscale的值为gsizemax;设置z方向分块数量znum的值为其中xdim,ydim,zdim分别为预设参数;设置分块总数量bnum的值为xnum*ynum*znum,分块总数量bnum的值从1开始依次编号。

优选地,步骤2)中基于分块参数在cpu端以及gpu端分别进行存储空间分配时,针对gpu端存储空间分配在gpu端声明三个指针变量greadptr、gprocptr和gwriteptr,各指针分配的显存空间容量为gsizemax3,其中greadptr指向下一个待处理的图像块数据,gprocptr指向当前处理的图像块数据,gwriteptr指向上一个已处理的图像块数据;针对cpu端存储空间分配在cpu上声明两个指针变量creadbuf、cwritebuf,各指针分配的内存空间容量为gsizemax3,其中creadbuf用于greadptr和磁盘间的数据缓冲,cwritebuf用于gwriteptr和磁盘间的数据缓冲;且cpu上计算的数据块尺寸设置为gsizemax,在cpu端声明三个指针变量creadptr、cprocptr和cwriteptr,各指针分配的内存空间容量为gsizemax3,其中gsizemax为gpu上可支持计算的最大数据块尺寸。

优选地,步骤3)中变量和存储空间初始化的详细步骤包括:为cpu申请互斥循环变量idx,初始化idx为2,将磁盘中的1号数据块读入指针变量cprocptr指向的内存空间,将磁盘中的2号数据块读入指针变量creadbuf指向的内存空间,然后从指针变量creadbuf指向的内存空间将2号数据块传输到gpu端指针变量gprocptr指向的显存空间。

优选地,步骤4)中的详细步骤包括:

4.1)在cpu上启动负责gpu上计算任务的组织和数据传输的0~2号进程以及负责cpu上计算任务的组织和数据传输的3~5号进程;

4.2)通过0~2号进程调用gpu采用三级流水线的方式执行计算任务,同时通过3~5号进程调用cpu同时采用三级流水线的方式执行计算任务,在进行每一个图像块神经元定位的同时读取下一组神经元定位所需要的数据块、同时将上一组神经元定位的数据块写回磁盘,使得磁盘读写操作和神经元定位操作并行进行;

4.3)同步0、1、2、3、4、5号进程,计算结束。

优选地,步骤4.2)中通过0~2号进程调用gpu采用三级流水线的方式执行计算任务的详细步骤包括:

4.2.1a)通过0号进程根据gpu上可用计算核心数ncgpu,在gpu上启动ncgpu个线程,所有gpu线程并行对指针变量gprocptr指向的数据块进行神经元定位计算;通过1号进程将互斥循环变量idx加1,比较互斥循环变量idx和分块总数量bnum,如果互斥循环变量idx小于等于分块总数量bnum,将磁盘中的互斥循环变量idx号数据块读入指针变量creadbuf指向的内存空间,然后从cpu端指针变量creadbuf指向的内存空间传输到gpu端指针变量greadptr指向的显存空间;通过2号进程检查指针变量gwriteptr指向的显存空间,如果指针变量gwriteptr指向的显存空间已存入数据块,将该数据块从指针变量gwriteptr指向的显存空间传输到指针变量cwritebuf指向的内存空间,然后从指针变量cwritebuf指向的内存空间将该数据块存入磁盘,并清除指针变量gwriteptr指向的显存空间;

4.2.2a)同步0号、1号和2号进程,同步结束后,gpu当前数据块计算完成;由0号进程进行gpu显存指针交换,具体操作为声明临时指针变量gtptr,将指针变量gtptr赋值为指针变量gprocptr,将指针变量gprocptr赋值为指针变量greadptr,将指针变量greadptr赋值为指针变量gwriteptr,将指针变量gwriteptr赋值为指针变量gtptr;0号进程检查指针变量gprocptr指向的显存空间,如内容为空则执行步骤4.2.3a),否则执行步骤4.2.1a);

4.2.3a)由0号进程将指针变量gwriteptr指向的显存空间中的数据块传输到指针变量cwritebuff指向的内存空间,再从指针变量cwritebuf指向的内存空间将数据块写回磁盘;回收gpu端指针变量greadptr、gprocptr和gwriteptr指向的显存空间,回收cpu端指针变量creadbuf和cwritebuf指向的内存空间。

优选地,步骤4.2)中通过3~5号进程调用cpu同时采用三级流水线的方式执行计算任务的详细步骤包括:

4.2.1b)通过3号进程根据cpu上可用计算核心数nccpu,在cpu上启动nccpu个线程,所有cpu线程并行对指针变量cprocptr指向的数据块进行神经元定位计算;通过4号进程将互斥循环变量idx加1,比较互斥循环变量idx和分块总数量bnum,如果互斥循环变量idx小于等于bnum,将磁盘中的互斥循环变量idx号数据块读入指针变量creadptr指向的内存空间;通过5号进程检查指针变量cwriteptr指向的内存空间,如果指针变量cwriteptr指向的内存空间已存入数据块,将该数据块存入磁盘,并清空指针变量cwriteptr指向的内存空间;

4.2.2b)同步3号、4号和5号进程,同步结束后,cpu当前数据块计算完成;由3号进程进行cpu内存指针交换,具体操作为声明临时指针变量ctptr,将指针变量ctptr赋值为指针变量cprocptr,将指针变量cprocptr赋值为指针变量creadptr,将指针变量creadptr赋值为指针变量cwriteptr,将指针变量cwriteptr赋值为指针变量ctptr;3号进程检查指针变量cprocptr指向的内存空间,如内容为空则执行步骤4.2.3b),否则执行步骤4.2.1b);

4.2.3b)由3号进程将指针变量cwriteptr指向的内存空间中的数据块写回磁盘;回收cpu端指针变量creadptr、cprocptr和cwriteptr指向的内存空间。

本发明还提供一种异构平台神经元定位三级流水并行系统,包括带有gpu的计算机设备,该计算机设备被编程以执行本发明前述异构平台神经元定位三级流水并行方法的步骤。

本发明还提供一种异构平台神经元定位三级流水并行系统,包括带有gpu的计算机设备,该计算机设备的存储介质上存储有被编程以执行本发明前述异构平台神经元定位三级流水并行方法的计算机程序。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程以执行本发明前述异构平台神经元定位三级流水并行方法的计算机程序。

和现有技术相比,本发明具有下述优点:本发明根据图像尺寸和计算粒度将切片图像数据计算分块参数;基于分块参数在cpu端以及gpu端分别进行存储空间分配;变量和存储空间初始化;由cpu进行任务调度,通过cpu和gpu同时采用三级流水线的方式执行计算任务,在进行每一个图像块神经元定位的同时读取下一组神经元定位所需要的数据块、同时将上一组神经元定位的数据块写回磁盘,使得磁盘读写操作和神经元定位操作并行进行。本发明能够提高神经元定位的处理速度,具有神经元定位速度快,程序执行总时间短,三级流水线实现灵活且支持参数配置、易于移植与推广的优点。

附图说明

图1为本发明实施例方法的基本流程示意图。

图2为本发明实施例方法中三级流水线的并行原理示意图。

具体实施方式

下文将以配备双路十二核2.4ghzcpu和一块nvidiagtx1080tigpu的服务器作为异构平台的实例,对本发明异构平台神经元定位三级流水并行方法、系统及介质进行进一步的详细说明。该服务器的硬盘容量为24tb,内存容量为256gb,gpu显存空间为11gb。输入数据由10000张分辨率为40000×40000的单图层图像序列组成。

如图1所示,本实施例异构平台神经元定位三级流水并行方法的步骤包括:

1)根据图像尺寸和计算粒度将切片图像数据计算分块参数;

2)基于分块参数在cpu端以及gpu端分别进行存储空间分配;

3)变量和存储空间初始化;

4)由cpu进行任务调度,通过cpu和gpu同时采用三级流水线的方式执行计算任务,每一个计算任务包括数据读入、定位计算和数据写回三个步骤,且中间每一轮计算任务在执行定位计算的同时执行上一轮计算任务的数据写回、并执行下一轮计算任务的数据读入,使得数据读入、定位计算和数据写回三个步骤并行进行。

本实施例中,步骤1)的详细步骤包括:

1.1)计算gpu上可支持计算的最大数据块尺寸gsizemax,gsizemax为正整数:

1.2)分别确定x,y,z方向的分块尺寸和分块数量以及分块总数量:如果xdim<gsizemax,则设置x方向分块尺寸xscale的值为xdim,否则设置xscale的值为gsizemax,设置x方向分块数量xnum的值为如果ydim<gsizemax,则设置y方向分块尺寸yscale的值为ydim,否则设置yscale的值为gsizemax。设置y方向分块数量ynum的值为如果zdim<gsizemax,则设置z方向分块尺寸zscale的值为zdim,否则设置zscale的值为gsizemax;设置z方向分块数量znum的值为其中xdim,ydim,zdim分别为预设参数;设置分块总数量bnum的值为xnum*ynum*znum,分块总数量bnum的值从1开始依次编号。主要变量定义如下:cmem:cpu端内存容量。gmem:gpu端显存容量。gnum:gpu数量。xdim:每个图层x方向像素数量。ydim:每个图层y方向像素数量。zdim:图层数量。

本实施例中,计算gpu上可支持计算的最大数据块尺寸gsizemax为:

上式中,gmem为gpu上的内存大小。

本实施例中,x方向分块数量y方向分块数量z方向分块数量分块总数量bnum=260×260×65=4394000,从1开始依次编号,每个数据块大小为1543b=3.65gb。

本实施例中,步骤2)中基于分块参数在cpu端以及gpu端分别进行存储空间分配时,针对gpu端存储空间分配在gpu端声明三个指针变量greadptr、gprocptr和gwriteptr,各指针分配的显存空间容量为gsizemax3,其中greadptr指向下一个待处理的图像块数据,gprocptr指向当前处理的图像块数据,gwriteptr指向上一个已处理的图像块数据;针对cpu端存储空间分配在cpu上声明两个指针变量creadbuf、cwritebuf,各指针分配的内存空间容量为gsizemax3,其中creadbuf用于greadptr和磁盘间的数据缓冲,cwritebuf用于gwriteptr和磁盘间的数据缓冲;且cpu上计算的数据块尺寸设置为gsizemax,在cpu端声明三个指针变量creadptr、cprocptr和cwriteptr,各指针分配的内存空间容量为gsizemax3,其中gsizemax为gpu上可支持计算的最大数据块尺寸。

具体地,本实施例中在gpu端声明三个指针变量greadptr、gprocptr和gwriteptr,各指针分配的显存空间容量为1543b=3.65gb,其中greadptr指向下一个待处理的图像块数据,gprocptr指向当前处理的图像块数据,gwriteptr指向上一个已处理的图像块数据。在cpu上声明两个指针变量creadbuf、cwritebuf,各指针分配的内存空间容量为1543b=3.65gb,其中creadbuf用于greadptr和磁盘间的数据缓冲,cwritebuf用于gwriteptr和磁盘间的数据缓冲。cpu上计算的数据块尺寸设置为3.65gb。相应的,在cpu端声明三个指针变量creadptr、cprocptr和cwriteptr,各指针分配的内存空间容量为3.65gb。

本实施例中步骤3)中变量和存储空间初始化的详细步骤包括:为cpu申请互斥循环变量idx,初始化idx为2,将磁盘中的1号数据块读入指针变量cprocptr指向的内存空间,将磁盘中的2号数据块读入指针变量creadbuf指向的内存空间,然后从指针变量creadbuf指向的内存空间将2号数据块传输到gpu端指针变量gprocptr指向的显存空间。

本实施例中,步骤4)中的详细步骤包括:

4.1)在cpu上启动负责gpu上计算任务的组织和数据传输的0~2号进程以及负责cpu上计算任务的组织和数据传输的3~5号进程;

4.2)通过0~2号进程调用gpu采用三级流水线的方式执行计算任务,同时通过3~5号进程调用cpu同时采用三级流水线的方式执行计算任务,在进行每一个图像块神经元定位的同时读取下一组神经元定位所需要的数据块、同时将上一组神经元定位的数据块写回磁盘,使得磁盘读写操作和神经元定位操作并行进行;本实施例中,步骤4.2)通过0~2号进程调用gpu采用三级流水线的方式执行计算任务,同时通过3~5号进程调用cpu同时采用三级流水线的方式执行计算任务,即cpu和gpu同时在cpu和gpu上进行神经元定位,提高了计算效率,降低了计算时间;

4.3)同步0、1、2、3、4、5号进程,计算结束。

本实施例中,步骤4.2)中通过0~2号进程调用gpu采用三级流水线的方式执行计算任务的详细步骤包括:

4.2.1a)通过0号进程根据gpu上可用计算核心数ncgpu,在gpu上启动ncgpu个线程,所有gpu线程并行对指针变量gprocptr指向的数据块进行神经元定位计算;本实施例中,0号进程根据gpu上可用计算核心数3584,在gpu上启动3584个线程;通过1号进程将互斥循环变量idx加1,比较互斥循环变量idx和分块总数量bnum,如果互斥循环变量idx小于等于分块总数量bnum,将磁盘中的互斥循环变量idx号数据块读入指针变量creadbuf指向的内存空间,然后从cpu端指针变量creadbuf指向的内存空间传输到gpu端指针变量greadptr指向的显存空间;通过2号进程检查指针变量gwriteptr指向的显存空间,如果指针变量gwriteptr指向的显存空间已存入数据块,将该数据块从指针变量gwriteptr指向的显存空间传输到指针变量cwritebuf指向的内存空间,然后从指针变量cwritebuf指向的内存空间将该数据块存入磁盘,并清除指针变量gwriteptr指向的显存空间;步骤4.2.1a)中0~2号进程同时进行gpu端的数据块读取、数据块计算和数据块写回,实现了数据传输和计算的时间重叠,降低了gpu端的数据传输开销;

4.2.2a)同步0号、1号和2号进程,同步结束后,gpu当前数据块计算完成;由0号进程进行gpu显存指针交换,具体操作为声明临时指针变量gtptr,将指针变量gtptr赋值为指针变量gprocptr,将指针变量gprocptr赋值为指针变量greadptr,将指针变量greadptr赋值为指针变量gwriteptr,将指针变量gwriteptr赋值为指针变量gtptr;0号进程检查指针变量gprocptr指向的显存空间,如内容为空则执行步骤4.2.3a),否则执行步骤4.2.1a);本实施例的步骤4.2.2a)中通过交换指针的方式实现数据交换,避免拷贝大量内存空间,提高了存储空间管理的时空效率;

4.2.3a)由0号进程将指针变量gwriteptr指向的显存空间中的数据块传输到指针变量cwritebuff指向的内存空间,再从指针变量cwritebuf指向的内存空间将数据块写回磁盘;回收gpu端指针变量greadptr、gprocptr和gwriteptr指向的显存空间,回收cpu端指针变量creadbuf和cwritebuf指向的内存空间。

本实施例中,步骤4.2)中通过3~5号进程调用cpu同时采用三级流水线的方式执行计算任务的详细步骤包括:

4.2.1b)通过3号进程根据cpu上可用计算核心数nccpu,在cpu上启动nccpu个线程,所有cpu线程并行对指针变量cprocptr指向的数据块进行神经元定位计算;通过4号进程将互斥循环变量idx加1,比较互斥循环变量idx和分块总数量bnum(4394000),如果互斥循环变量idx小于等于bnum(4394000),将磁盘中的互斥循环变量idx号数据块读入指针变量creadptr指向的内存空间;通过5号进程检查指针变量cwriteptr指向的内存空间,如果指针变量cwriteptr指向的内存空间已存入数据块,将该数据块存入磁盘,并清空指针变量cwriteptr指向的内存空间;步骤4.2.1b)中3~5号进程同时进行cpu端的数据块读取、数据块计算和数据块写回,实现了数据传输和计算的时间重叠,降低了cpu端的数据传输开销;

4.2.2b)同步3号、4号和5号进程,同步结束后,cpu当前数据块计算完成;由3号进程进行cpu内存指针交换,具体操作为声明临时指针变量ctptr,将指针变量ctptr赋值为指针变量cprocptr,将指针变量cprocptr赋值为指针变量creadptr,将指针变量creadptr赋值为指针变量cwriteptr,将指针变量cwriteptr赋值为指针变量ctptr;3号进程检查指针变量cprocptr指向的内存空间,如内容为空则执行步骤4.2.3b),否则执行步骤4.2.1b);本实施例的步骤4.2.2b)中通过交换指针的方式实现数据交换,避免拷贝大量内存空间,提高了存储空间管理的时空效率;

4.2.3b)由3号进程将指针变量cwriteptr指向的内存空间中的数据块写回磁盘;回收cpu端指针变量creadptr、cprocptr和cwriteptr指向的内存空间。

如图2所示,由于cpu以及gpu执行的定位计算任务中的处理步骤均包括数据读入、定位计算和数据写回三个步骤,且三个步骤的数据之间存在依赖关系,第一轮算法(round1)执行读入内存数据读入生成三维图像体数据,第二轮算法(round2)执行读入内存数据读入生成三维图像体数据、神经元定位计算两个步骤同时进行,从第三轮算法(round3)开始,直至定位计算结束前的倒数第三轮(roundn-2),每一轮算法执行中数据读入、定位计算和数据写回三个步骤均同时进行。其中数据读入是处理下一组切片图像数据,定位计算是处理当前一组已完成数据读入的切片图像数据对应的体数据,数据写回是将上一组切片图像数据的神经元定位结果处理后写回磁盘阵列。通过以上技术途径,能够有效将数据读入和数据写回的时间隐藏在神经元定位计算步骤中。

综上所述,本实施例使用cpu基于分块方法组织计算和数据传输,cpu和gpu使用多线程进行神经元定位,将cpu内存、gpu显存和磁盘间的数据传输步骤采用多级流水方式,即在处理每一个图像块数据的同时,读取下一个待处理的图像块数据,同时将上一个已处理的图像块数据写回磁盘,使得数据传输操作和数据处理操作并行进行。本实施例异构平台神经元定位三级流水并行通过多进程和多线程混合并行技术,在cpu-gpu异构并行计算平台上,同时利用cpu多核处理器和gpu众核协处理器进行神经元定位计算,并通过多级流水线技术进行计算和数据传输的时间重叠,可以提高神经元定位速度。统计运行数据后发现,与双路十二核cpu上运行的神经元定位算法相比,本实施例异构平台神经元定位三级流水并行方法可以将神经元定位速度提高到3倍以上。

此外,本实施例还提供一种异构平台神经元定位三级流水并行系统,包括带有gpu的计算机设备,该计算机设备被编程以执行本实施例前述异构平台神经元定位三级流水并行方法的步骤。此外,本实施例还提供一种异构平台神经元定位三级流水并行系统,包括带有gpu的计算机设备,该计算机设备的存储介质上存储有被编程以执行本实施例前述异构平台神经元定位三级流水并行方法的计算机程序。此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程以执行本实施例前述异构平台神经元定位三级流水并行方法的计算机程序。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1