CN103955443A - 一种基于gpu加速的蚁群算法优化方法 - Google Patents

一种基于gpu加速的蚁群算法优化方法 Download PDF

Info

Publication number
CN103955443A
CN103955443A CN201410147893.2A CN201410147893A CN103955443A CN 103955443 A CN103955443 A CN 103955443A CN 201410147893 A CN201410147893 A CN 201410147893A CN 103955443 A CN103955443 A CN 103955443A
Authority
CN
China
Prior art keywords
ant
gpu
path
working group
pheromones
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410147893.2A
Other languages
English (en)
Inventor
何发智
周毅
侯能
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201410147893.2A priority Critical patent/CN103955443A/zh
Publication of CN103955443A publication Critical patent/CN103955443A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于GPU加速的蚁群算法优化方法,包括以下步骤:1:初始化TSP问题定义数据,初始化蚁群参数;2:定义两个GPU内核,为路径创建内核和信息素更新内核,并初始化内核;3:路径创建内核将m只蚂蚁分别对应到GPU的m个工作组,一个工作组内设置了n个工作项,每个工作组内的n个工作项并行读取计算参数到工作组本地内存,m只蚂蚁并行进行路径创建,每只蚂蚁的路径创建又由工作组的n个工作项并行计算;4:信息素更新内核首先并行对信息素数组进行挥发操作,然后并行更新所有蚂蚁走过路径上的信息素值;5:GPU输出计算结果;本发明可以大幅缩短TSP问题求解时间、减少功耗、节约硬件成本。

Description

一种基于GPU加速的蚁群算法优化方法
技术领域
本发明属于计算机处理技术领域,涉及一种基于图形处理单元(GPU,Graphics Processing Unit)加速的蚁群算法优化方法。 
背景技术
蚁群算法是一种基于种群的启发式搜索算法,常用于求解优化问题的近似解。此类优化问题一般都可以转换为旅行商问题(TSP,Travel Salesman Problem)。目前TSP问题已经被证明是NP难的问题,它在运筹学和计算机科学理论中是一个非常重要的问题。蚁群算法最早应用于解决TSP问题。TSP问题的目标是在一个有向带权完全图中寻找最小权值的汉密尔顿回路,目前蚁群优化算法已应用于许多组合优化问题,包括蛋白质折叠或路由车辆的二次分配问题,很多派生的方法已经应用于实变量动力学问题,随机问题,多目标并行的实现。 
GPU是一种专用的图形渲染设备。最初GPU是专用于图形处理的硬件,然而自从2006年以来,越来越多的研究人员研究了利用GPU进行通用计算的GPGPU领域,各大厂商也推出了专用的GPGPU语言,比如CUDA、OPENCL等。 
发明内容
本发明的目的是优化原有基于CPU的计算方法,使之支持并行计算,设计出一套算法利用图像处理器(GPU)加速执行,使得蚁群算法在单个主机上求解TSP问题的计算时间最多缩短为原有方法的1/23。 
本发明所采用的技术方案是:一种基于GPU加速的蚁群算法优化方法,其特征在于,包括以下步骤: 
步骤1:初始化TSP问题定义数据,初始化蚁群参数; 
步骤2:定义两个GPU内核,所述的两个GPU内核为路径创建内核和信息素更新内核,并初始化所述的两个GPU内核; 
步骤3:路径创建内核将m只蚂蚁分别对应到GPU的m个工作组,一个工作组内设置了n个工作项,每个工作组内的n个工作项并行读取计算参数到工作组本地内存,m只蚂蚁并行进行路径创建,每只蚂蚁的路径创建又由工作组的n个工作项并行计算; 
步骤4:信息素更新内核第一次执行设置为n*n个工作项,并行对信息素数组进行挥发操作,第二次执行设置为与路径创建内核相同的工作组和工作项参数,通过原子操作方法并行更新所有蚂蚁走过路径的信息素; 
步骤5:重复执行步骤3和4直到达到设定的结束条件,GPU输出计算结果。 
作为优选,步骤3的具体实现包括以下子步骤: 
步骤3.1:每个工作项由一个二维的编号(bid,tid)表示,其中bid为工作组编号,tid为工作组内的工作项编号; 
步骤3.2:每个工作组内工作项并行读取其对应蚂蚁的n条数据,其中禁忌表、城市是否可访问数组读入到工作组本地内存,城市距离和信息素数组读入GPU全局内存; 
步骤3.3:每个工作项按照式一并行计算转移概率,计算结果保存到该工作组的本地内存数组P[n]={p1,p2,..,pn}, 
P i , j k = [ τ i , j ] α [ η i , j ] β Σ l ∈ N i k [ τ i , l ] α [ η i , l ] β , j ∈ N i k   (式一) 
式中k是蚂蚁的编号,τi,j为城市i到j之间路径上的信息素值,ηi,j=1/di,j为启发式值,α和β是可配置参数,决定了信息素和启发式值对转移概率的影响,是蚂蚁k在i城市时可访问的城市; 
步骤3.4:采用并行轮盘赌算法进行转移城市选择; 
步骤3.5:将转移的城市记录到蚂蚁对应的禁忌表数组,并且设置城市是否可访问数组中该城市值为0; 
步骤3.6:重复执行所述的步骤3.2至步骤3.5,直到蚂蚁走过所有城市; 
步骤3.7:采用并行归约的方法并行计算蚂蚁走过路径的长度。 
作为优选,步骤3.4中所述的并行轮盘赌算法,其具体实现包括以下子步骤: 
步骤3.4.1:并行计算转移概率的前缀和; 
步骤3.4.2:并行计算随机值与转移概率之差的绝对值; 
步骤3.4.3:采用并行归约的方法寻找绝对值最小的城市。 
作为优选,步骤4的具体实现包括以下子步骤: 
步骤4.1:如果传递的功能参数编号为0,则按照下述式二并行计算信息素挥发后的值 
τ i , j ← ( 1 - ρ ) τ i , j , ∀ ( i , j ) ∈ L   (式二) 
其中ρ为小于1的正数,代表信息素挥发率,L为路径的集合; 
步骤4.2:如果传递的功能参数编号为1,更新蚂蚁走过路径上的信息素,其计算公式如下: 
τ i , j ← τ i , j + Σ k = 1 m Δ τ i , j k , ∀ ( i , j ) ∈ L (式三) 
其中 
其中LK为蚂蚁k走过路径的总长度,Q为常量;采用了浮点数原子加法操作,用来保证多个蚂蚁同时更新一条路径上的信息素时,数据不会被覆盖,而是正确累加; 
步骤4.3:从m只蚂蚁的路径长度中采用并行归约的方法寻找出路径最短的那只,然后把此蚂蚁走过的路径长度和禁忌表中记录的路径写进GPU全局内存。 
本算法应用于一类组合优化问题的求解,此类组合优化问题都可以转换旅行商问题(TSP,Travel Salesman Problem)并应用本算法求解。本发明改进了原有基于CPU的计算方法,使之支持并行计算,设计了一套算法利用图像处理器(GPU)加速执行,使得蚁群算法在单个主机上求解TSP问题的计算时间最多缩短为原有方法的1/23。 
本发明产生的有益效果是: 
1.使用本发明提供的方法,可以大幅缩短TSP问题求解时间,提高相关应用软件响应速度; 
2.用本发明提供的方法,可以选用低端CPU用于主机,中高端GPU用于计算,达到多CPU甚至集群的性能,从而减少功耗,节约硬件成本。 
附图说明
图1:本发明实施例的蚁群算法优化方法流程图。 
图2:本发明实施例的GPU工作组与蚂蚁对应关系图。 
图3:本发明实施例的并行读取蚂蚁计算数据原理图。 
图4:本发明实施例的并行前缀和,其中n=8,Si-j为数组P从索引i到j的元素之和。 
图5:本发明实施例的并行归约计算最小值,其中n=8。 
图6:本发明实施例的信息素更新过程流程图。 
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。 
请见图1,本发明所采用的技术方案是:一种基于GPU加速的蚁群算法优化方法,包括以下步骤: 
步骤1:初始化TSP问题定义数据,初始化蚁群参数;其中TSP问题定义如下: 
(1)n个城市的有向图G=(N,A); 
(2)其中N={1,2,…,n},A={(i,j)|i,j∈N}; 
(3)城市之间的距离为(di,j)n×n; 
(4)目标函数为其中W={i1,i1,…,in}为城市1,2,…,n的一个排列,in+1=i1。 
步骤2:定义两个GPU内核,两个GPU内核为路径创建内核和信息素更新内核,并初始化两个GPU内核; 
首先初始化计算数据数组: 
(1)定义m为蚂蚁的数量; 
(2)读取问题定义数据,数组定义如下: 
城市之间的距离数组 
信息素数组 
(3)初始化蚁群数据数组,包括禁忌表、城市是否可访问等 
初始化禁忌表数组 
初始化城市是否可访问数组 
(4)以及其它数组定义。 
步骤3:路径创建内核将m只蚂蚁分别对应到GPU的m个工作组,一个工作组内设置了n个工作项,每个工作组内的n个工作项并行读取计算参数到工作组本地内存,m只蚂蚁并行进行路径创建,每只蚂蚁的路径创建又由工作组的n个工作项并行计算; 
GPU并行计算,本算法在OpenCL平台上实现,OpenCL是一种开放的且免版税的标准,使用它可以在CPU、GPU和其它处理器上进行通用目的的并行编程,它使软件开发者可以更加方便高效的使用这些异构处理平台。OpenCL含有一个API,用来协调异构处理器间的并行计算;还含有一个在特定计算环境下的跨平台编程语言。OpenCL设备即我们通常认为的GPU,OpenCL规范中有更加通用的定义。一个OpenCL设备由一个或多个计算单元(Compute Unit,简称CU)组成,一个计算单元又由一个或多个处理单元(Process Element,简称PE)。计算在PE上执行,计算数据存储于设备的全局内存(Global Memory)和常量内存(Constant Memory),也就是通常认为的显卡的显存上。在OpenCL架构中,CPU一般称为主机,OpenCL应用程序从主机提交命令到设备的PE中执行计算。 
OpenCL中定义执行运算的最小单元为工作项(Work-item),而多个工作项又组成工作组(Work-group),每个工作组内的工作项共享局部内存(Local Memory),所有工作项都可以访问全局内存(Global Memory)。为了达到更好的并行度以提高计算性能,根据蚁群算法的特点,本GPU加速算法计算分为两个内核,分别是蚂蚁路径创建内核和信息素更新内核。 
其具体实现包括以下子步骤: 
步骤3.1:每个工作项由一个二维的编号(bid,tid)表示,其中bid为工作组编号,tid为工作组内的工作项编号;请见图2,我们采用了一个工作组对应一只蚂蚁的策略,每只蚂蚁路径的寻找过程由此工作组内的线程并行计算,这样做能达到更好的并行度; 
步骤3.2:请见图3,每个工作组内工作项并行读取其对应蚂蚁的n条数据,其中禁忌表、城市是否可访问数组读入到工作组本地内存,城市距离和信息素数组读入GPU全局内存; 
步骤3.3:每个工作项按照式一并行计算转移概率,计算结果保存到该工作组的本地内存数组P[n]={p1,p2,..,pn}, 
P i , j k = [ τ i , j ] α [ η i , j ] β Σ l ∈ N i k [ τ i , l ] α [ η i , l ] β , j ∈ N i k   (式一) 
式中k是蚂蚁的编号,τi,j为城市i到j之间路径上的信息素值,ηi,j=1/di,j为启发式值,α和β是可配置参数,决定了信息素和启发式值对转移概率的影响,是蚂蚁k在i城市时可访问的城市; 
步骤3.4:采用并行轮盘赌算法进行转移城市选择;请见图4,并行轮盘赌算法的具体实现包括以下子步骤: 
步骤3.4.1:并行计算转移概率的前缀和; 
步骤3.4.2:并行计算随机值与转移概率之差的绝对值; 
步骤3.4.3:采用并行归约的方法寻找绝对值最小的城市; 
并行计算随机值与转移概率之差的绝对值直接由每个工作项完成,然后对计算结果采用并行归约的方法寻找最小值,请见图5,为8个元素数组的计算示例,其中<符号的含义是比较两个值,在本方法中需要对比较方法做处理,因为蚁群算法要求寻找的是最小值对应的城市,因此设置了一个大小为n的数组cityIndex[n]={0,1,2,…,n-1},在并行归约中进行 比较操作时,如果在结果数组s[n]中的元素s[i]>s[j],进行s[i]←s[j]操作的同时,还需要记录城市索引cityIndex[i]←cityIndex[j],最终结果记录在cityIndex[0]。 
步骤3.5:将转移的城市记录到蚂蚁对应的禁忌表数组,并且设置城市是否可访问数组中该城市值为0; 
步骤3.6:重复执行步骤3.2至步骤3.5,直到蚂蚁走过所有城市; 
步骤3.7:采用并行归约的方法并行计算蚂蚁走过路径的长度。此方法与图3类似,只需要把操作符替换为“+”,即把两个值相加后写入。 
步骤4:信息素更新内核算法;信息素更新内核第一次执行设置为n*n个工作项,并行对信息素数组进行挥发操作,第二次执行设置为与路径创建内核相同的工作组和工作项参数,通过原子操作方法并行更新所有蚂蚁走过路径的信息素;其具体实现包括以下子步骤: 
步骤4.1:如果传递的功能参数编号为0,则按照下述式二并行计算信息素挥发后的值 
&tau; i , j &LeftArrow; ( 1 - &rho; ) &tau; i , j , &ForAll; ( i , j ) &Element; L   (式二) 
其中ρ为小于1的正数,代表信息素挥发率,L为路径的集合。在GPU并行进行信息素挥发,在GPU端用n*n大小的线程并行进行信息素挥发计算。 
步骤4.2:如果传递的功能参数编号为1,更新蚂蚁走过路径上的信息素,其计算公式如下: 
&tau; i , j &LeftArrow; &tau; i , j + &Sigma; k = 1 m &Delta; &tau; i , j k , &ForAll; ( i , j ) &Element; L   (式三) 
其中 
其中LK为蚂蚁k走过路径的总长度,Q为常量;一只蚂蚁总共走过n条路径,使用m*n个工作项并行更新所有蚂蚁走过路径上的信息素,采用了浮点数原子加法操作,用来保证多个蚂蚁同时更新一条路径上的信息素时,数据不会被覆盖,而是正确累加。 
步骤4.3:从m只蚂蚁的路径长度中采用并行归约的方法寻找出路径最短的那只,然后把此蚂蚁走过的路径长度和禁忌表中记录的路径写进GPU全局内存。 
步骤5:GPU输出计算结果。 
请见图6,在信息素更新内核算法中,由于可能存在蚂蚁走过相同的路径,如果m只蚂蚁并行进行更新信息素,可能会存在多个线程同时更新一个全局内存的情况,本发明采用了浮点数原子操作方法并行更新每只蚂蚁走过路径上的信息素。另外由于目前GPU并不支持工作组之间的同步操作,为了保证信息素全部挥发完成后再进行更新,本发明将在信息素更新内核中通过设置了功能编号的方法,分两次执行,其流程如下: 
1.当内核功能编号为0时,内核设置n*n个工作项,对所有路径并行进行信息素挥发; 
2.当内核功能编号为1时,内核设置m*n个工作项,并行更新m只蚂蚁各自走过的n条路径上的信息素; 
3.当内核功能编号为1时,使用前n个工作项,采用并行归约的方法寻找最短路径并写入到全局内存。 
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求 保护范围应以所附权利要求为准。 

Claims (4)

1.一种基于GPU加速的蚁群算法优化方法,其特征在于,包括以下步骤: 
步骤1:初始化TSP问题定义数据,初始化蚁群参数; 
步骤2:定义两个GPU内核,所述的两个GPU内核为路径创建内核和信息素更新内核,并初始化所述的两个GPU内核; 
步骤3:路径创建内核将m只蚂蚁分别对应到GPU的m个工作组,一个工作组内设置了n个工作项,每个工作组内的n个工作项并行读取计算参数到工作组本地内存,m只蚂蚁并行进行路径创建,每只蚂蚁的路径创建又由工作组的n个工作项并行计算; 
步骤4:信息素更新内核第一次执行设置为n*n个工作项,并行对信息素数组进行挥发操作,第二次执行设置为与路径创建内核相同的工作组和工作项参数,通过原子操作方法并行更新所有蚂蚁走过路径的信息素; 
步骤5:重复执行步骤3和4直到达到设定的结束条件,GPU输出计算结果。 
2.根据权利要求1所述的基于GPU加速的蚁群算法优化方法,其特征在于:步骤3的具体实现包括以下子步骤: 
步骤3.1:每个工作项由一个二维的编号(bid,tid)表示,其中bid为工作组编号,tid为工作组内的工作项编号; 
步骤3.2:每个工作组内工作项并行读取其对应蚂蚁的n条数据,其中禁忌表、城市是否可访问数组读入到工作组本地内存,城市距离和信息素数组读入GPU全局内存; 
步骤3.3:每个工作项按照式一并行计算转移概率,计算结果保存到该工作组的本地内存数组P[n]={p1,p2,..,pn}, 
  (式一) 
式中k是蚂蚁的编号,τi,j为城市i到j之间路径上的信息素值,ηi,j=1/di,j为启发式值,α和β是可配置参数,决定了信息素和启发式值对转移概率的影响,是蚂蚁k在i城市时可访问的城市; 
步骤3.4:采用并行轮盘赌算法进行转移城市选择; 
步骤3.5:将转移的城市记录到蚂蚁对应的禁忌表数组,并且设置城市是否可访问数组中该城市值为0; 
步骤3.6:重复执行所述的步骤3.2至步骤3.5,直到蚂蚁走过所有城市; 
步骤3.7:采用并行归约的方法并行计算蚂蚁走过路径的长度。 
3.根据权利要求2所述的基于GPU加速的蚁群算法优化方法,其特征在于:步骤3.4中所述的并行轮盘赌算法,其具体实现包括以下子步骤: 
步骤3.4.1:并行计算转移概率的前缀和; 
步骤3.4.2:并行计算随机值与转移概率之差的绝对值; 
步骤3.4.3:采用并行归约的方法寻找绝对值最小的城市。 
4.根据权利要求2所述的基于GPU加速的蚁群算法优化方法,其特征在于:步骤4的具体实现包括以下子步骤: 
步骤4.1:如果传递的功能参数编号为0,则按照下述式二并行计算信息素挥发后的值 
  (式二) 
其中ρ为小于1的正数,代表信息素挥发率,L为路径的集合; 
步骤4.2:如果传递的功能参数编号为1,更新蚂蚁走过路径上的信息素,其计算公式如下: 
  (式三) 
其中 
其中LK为蚂蚁k走过路径的总长度,Q为常量;采用了浮点数原子加法操作,用来保证多个蚂蚁同时更新一条路径上的信息素时,数据不会被覆盖,而是正确累加; 
步骤4.3:从m只蚂蚁的路径长度中采用并行归约的方法寻找出路径最短的那只,然后把此蚂蚁走过的路径长度和禁忌表中记录的路径写进GPU全局内存。 
CN201410147893.2A 2014-04-14 2014-04-14 一种基于gpu加速的蚁群算法优化方法 Pending CN103955443A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410147893.2A CN103955443A (zh) 2014-04-14 2014-04-14 一种基于gpu加速的蚁群算法优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410147893.2A CN103955443A (zh) 2014-04-14 2014-04-14 一种基于gpu加速的蚁群算法优化方法

Publications (1)

Publication Number Publication Date
CN103955443A true CN103955443A (zh) 2014-07-30

Family

ID=51332718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410147893.2A Pending CN103955443A (zh) 2014-04-14 2014-04-14 一种基于gpu加速的蚁群算法优化方法

Country Status (1)

Country Link
CN (1) CN103955443A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363723A (zh) * 2018-01-04 2018-08-03 复旦大学 一种关于类pll最短路距离查询算法的并行化加速方法
CN108470211A (zh) * 2018-04-09 2018-08-31 郑州云海信息技术有限公司 一种卷积计算的实现方法、设备和计算机存储介质
CN114330933A (zh) * 2022-03-09 2022-04-12 北京峰玉科技有限公司 基于gpu并行计算的元启发式优化算法及电子设备
CN115619030A (zh) * 2022-10-28 2023-01-17 清华大学 一种城市污水系统厂网协同优化方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539800A (zh) * 2009-05-05 2009-09-23 曙光信息产业(北京)有限公司 一种低功耗作业调度计算方法
US20130038615A1 (en) * 2011-08-09 2013-02-14 Apple Inc. Low-power gpu states for reducing power consumption
CN103226762A (zh) * 2013-04-17 2013-07-31 深圳东原电子有限公司 一种基于云计算平台的物流配送方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539800A (zh) * 2009-05-05 2009-09-23 曙光信息产业(北京)有限公司 一种低功耗作业调度计算方法
US20130038615A1 (en) * 2011-08-09 2013-02-14 Apple Inc. Low-power gpu states for reducing power consumption
CN103226762A (zh) * 2013-04-17 2013-07-31 深圳东原电子有限公司 一种基于云计算平台的物流配送方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
付杰: "基于GPU的并行蚁群优化算法的研究与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *
李建明 等: "一种基于GPU加速的细粒度并行蚁群算法", 《控制与决策》 *
白洪涛 等: "基于GPU的共享信息素矩阵多蚁群算法", 《吉林大学学报(工学版)》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363723A (zh) * 2018-01-04 2018-08-03 复旦大学 一种关于类pll最短路距离查询算法的并行化加速方法
CN108363723B (zh) * 2018-01-04 2021-07-23 复旦大学 一种关于类pll最短路距离查询算法的并行化加速方法
CN108470211A (zh) * 2018-04-09 2018-08-31 郑州云海信息技术有限公司 一种卷积计算的实现方法、设备和计算机存储介质
CN108470211B (zh) * 2018-04-09 2022-07-12 郑州云海信息技术有限公司 一种卷积计算的实现方法、设备和计算机存储介质
CN114330933A (zh) * 2022-03-09 2022-04-12 北京峰玉科技有限公司 基于gpu并行计算的元启发式优化算法及电子设备
CN115619030A (zh) * 2022-10-28 2023-01-17 清华大学 一种城市污水系统厂网协同优化方法、装置及电子设备

Similar Documents

Publication Publication Date Title
Vandenhende et al. Mti-net: Multi-scale task interaction networks for multi-task learning
EP3179415B1 (en) Systems and methods for a multi-core optimized recurrent neural network
EP3380993B1 (en) Systems and methods for robust large-scale machine learning
Skinderowicz The GPU-based parallel ant colony system
Zhou et al. Optimization of parallel iterated local search algorithms on graphics processing unit
Baldán et al. Distributed FastShapelet Transform: a Big Data time series classification algorithm
US11693627B2 (en) Contiguous sparsity pattern neural networks
Martín et al. Algorithmic strategies for optimizing the parallel reduction primitive in CUDA
CN111353575A (zh) 用于卷积神经网络的图块化格式
CN111465943A (zh) 芯片上计算网络
US11144291B1 (en) Loop-oriented neural network compilation
CN103955443A (zh) 一种基于gpu加速的蚁群算法优化方法
JP2022550730A (ja) 高速なスパースニューラルネットワーク
CN104020983A (zh) 一种基于OpenCL的KNN-GPU加速方法
Bisson et al. A GPU implementation of the sparse deep neural network graph challenge
Dawson et al. Candidate set parallelization strategies for ant colony optimization on the GPU
Zhou et al. FASTCF: FPGA-based accelerator for stochastic-gradient-descent-based collaborative filtering
Ravikumar et al. Identifying pitfalls and solutions in parallelizing long short-term memory network on graphical processing unit by comparing with tensor processing unit parallelism
US11461662B1 (en) Compilation time reduction for memory and compute bound neural networks
JP6955598B2 (ja) 複数の畳み込みウィンドウ内の画像データの並行抽出方法、装置、機器及びコンピュータ可読記憶媒体
US9110855B2 (en) Matrix based dynamic programming
Zhao et al. RF-RISA: A novel flexible random forest accelerator based on FPGA
De Camargo et al. A multi‐GPU algorithm for large‐scale neuronal networks
Dawson et al. Accelerating ant colony optimization-based edge detection on the GPU using CUDA
CN114026571A (zh) 用于并行执行的神经网络操作重新排序

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140730