CN107145332A - Random-number generating method and device in a kind of OpenCL kernel programs - Google Patents

Random-number generating method and device in a kind of OpenCL kernel programs Download PDF

Info

Publication number
CN107145332A
CN107145332A CN201710294725.XA CN201710294725A CN107145332A CN 107145332 A CN107145332 A CN 107145332A CN 201710294725 A CN201710294725 A CN 201710294725A CN 107145332 A CN107145332 A CN 107145332A
Authority
CN
China
Prior art keywords
random seed
shift register
random
parameter
seed parameter
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.)
Granted
Application number
CN201710294725.XA
Other languages
Chinese (zh)
Other versions
CN107145332B (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710294725.XA priority Critical patent/CN107145332B/en
Publication of CN107145332A publication Critical patent/CN107145332A/en
Application granted granted Critical
Publication of CN107145332B publication Critical patent/CN107145332B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register

Abstract

The invention discloses random-number generating method and device in a kind of OpenCL kernel programs, this method includes:Random seed parameter is set in kernel program, is calculated using pseudo random number calculation formula and obtains random number;New random seed parameter is stored in first of shift register array;Last position of shift register array is moved to by the new random seed parameter of inverted order displacement method control.This method solves that in Opencl standards the problem of random number is produced can not be realized.

Description

Random-number generating method and device in a kind of OpenCL kernel programs
Technical field
The present invention relates to big data processing technology field, random number is produced in more particularly to a kind of OpenCL kernel programs Method and device.
Background technology
At present, Heterogeneous Computing is primarily referred to as constituting the calculation of system, energy using the computing unit of different architectural frameworks It is enough to distribute different calculating tasks for it according to the design feature of each computing subsystem, improve server calculating performance, The advantage not available for conventional architectures is embodied in terms of Energy Efficiency Ratio and calculating real-time, its common computing unit classification includes CPU, GPU, DSP, ASIC, FPGA etc..Field programmable gate array (Field Programmable Gate Array, FPGA) It is that a kind of new Heterogeneous Computing accelerates device, is made up of, can be performed in Different Logic programmable logical block and internet Multiple threads, realize pipeline and parallel design, with stronger parallel processing capability.Set special chips such as FPGA as acceleration It is standby to be engaged to form FPGA heterogeneous computing platforms with CPU, the calculating of data center can be lifted while system power dissipation is reduced Ability, accelerates data processing.Traditional FPGA exploitations realize concurrent operation with hardware description language (HDL), will to developer Ask higher, the construction cycle is also longer.OpenCL is to be directed to Heterogeneous Computing device (heterogeneous by Khronos Group Device standard API and programming language designed by).From after standardization, CPU and GPU manufacturers announce its product branch quickly Hold OpenCL programming models.Synthesis tool maturing is compiled with the OpenCL of FPGA manufacturers, FPGA also achieves use The algorithm debugging mode of OpenCL high-level languages, and FPGA progress program verifications can be write direct, it is that FPGA is widely used in leading to Carried out ensureing using quick providing convenience property of exploitation with calculating field.OpenCL programs include host side (host) program and interior Core (kernel) program two parts, wherein kernel program is the calculating process of core algorithm, is realized on FPGA;Host side journey Sequence is responsible for carrying out data transmission kernel program and performs scheduling by CPU.
Big data processing is the popular domain of FPGA Heterogeneous Computings, is related in the algorithm of machine learning and data mining random It is conventional calculating means that number, which is produced the problems such as emulated for sampling of data, provided in C and C Plus Plus standard it is classical it is pseudo- with Machine number produces function rand () function, but the standard of the OpenCL advanced programming models based on FPGA do not support rand pseudo- with Machine number is produced so that the operation such as sampling of data in data mining algorithm can not be realized parallel excellent on FPGA heterogeneous computing platforms Change, have impact on the overall performance of algorithm.
The content of the invention
It is an object of the invention to provide random-number generating method and device in a kind of OpenCL kernel programs, to solve The problem of random number is produced can not be realized in Opencl standards.
In order to solve the above technical problems, the present invention provides random-number generating method, the party in a kind of OpenCL kernel programs Method includes:
Random seed parameter is set in kernel program, is calculated using pseudo random number calculation formula and obtains random number;
New random seed parameter is stored in first of shift register array;
Last position of shift register array is moved to by the new random seed parameter of inverted order displacement method control.
It is preferred that, calculated using pseudo random number calculation formula and obtain random number, including:
Random seed parameter is initialized, the random seed parameter obtained to last computation, which is updated, obtains new Random seed parameter, is calculated using new random seed parameter and obtains new random parameter.
It is preferred that, new random seed parameter is stored in before first of shift register array, in addition to:
A shift register array is defined, last position of shift register array is used to update random seed parameter.
It is preferred that, it is described to control new random seed parameter to be moved to shift register array by inverted order displacement method Last position, including:
Produce every time after random number, inverted order displacement is carried out to shift register, new random seed is gradually displaced to Last position of bit register array, the calculating for participating in next random number.
The present invention also provides random number generating apparatus in a kind of OpenCL kernel programs, for realizing the above method, including:
Computing module, for setting random seed parameter in kernel program, is calculated using pseudo random number calculation formula To random number;
Preserving module, for new random seed parameter to be stored in into first of shift register array;
Mobile module, for controlling new random seed parameter to be moved to shift register array by inverted order displacement method Last position.
It is preferred that, the computing module is joined specifically for setting random seed parameter in kernel program to random seed Number is initialized, and the random seed parameter obtained to last computation, which is updated, obtains new random seed parameter, using new Random seed parameter calculate obtain new random parameter.
It is preferred that, the preserving module also includes:
Definition unit, for defining a shift register array, last position of shift register array is used to update Random seed parameter.
It is preferred that, the mobile module carries out inverted order displacement specifically for producing every time after random number to shift register, New random seed is gradually displaced to last position of shift register array, the calculating for participating in next random number.
Random-number generating method and device in a kind of OpenCL kernel programs provided by the present invention, set in kernel program Random seed parameter is put, is calculated using pseudo random number calculation formula and obtains random number;New random seed parameter is stored in shifting First of bit register array;New random seed parameter is controlled to be moved to shift register array by inverted order displacement method Last position.It can be seen that, it is all the time that new random seed parameter is stored in shift register array by random seed intermediate result First, last position of register array is moved to by inverted order shift control random seed, last position is used for all the time Random seed parameter is updated in pseudo random number calculation formula, is so determined OpenCL standards using pseudorandom random number calculating Formula Solution Not the problem of not supporting the rand nonce generation functions in C language standard, and solved using shift register inverted order displacement strategy Parameter Dependence Problem in calculation formula, can produce random number in OpenCL kernel function, solve Opencl standards In can not realize the problem of random number is produced.
Brief description of the drawings
In order to illustrate more clearly about the embodiment of the present invention or technical scheme of the prior art, below will be to embodiment or existing There is the accompanying drawing used required in technology description to be briefly described, it should be apparent that, drawings in the following description are only this The embodiment of invention, for those of ordinary skill in the art, on the premise of not paying creative work, can also basis The accompanying drawing of offer obtains other accompanying drawings.
Fig. 1 is the flow chart of random-number generating method in a kind of OpenCL kernel programs provided by the present invention;
Fig. 2 is OpenCL codes parallel computation schematic flow sheet in FPGA;
Fig. 3 is the structural representation of random number generating apparatus in a kind of OpenCL kernel programs provided by the present invention.
Embodiment
The core of the present invention is to provide random-number generating method and device in a kind of OpenCL kernel programs, to solve The problem of random number is produced can not be realized in Opencl standards.
In order that those skilled in the art more fully understand the present invention program, below in conjunction with the embodiment of the present invention Accompanying drawing, the technical scheme in the embodiment of the present invention is clearly and completely described, it is clear that described embodiment is only A part of embodiment of the present invention, rather than whole embodiments.Based on the embodiment in the present invention, those of ordinary skill in the art The every other embodiment obtained under the premise of creative work is not made, belongs to the scope of protection of the invention.
Fig. 1 is refer to, Fig. 1 is the flow of random-number generating method in a kind of OpenCL kernel programs provided by the present invention Figure, this method includes:
S11:Random seed parameter is set in kernel program, is calculated using pseudo random number calculation formula and obtains random number;
S12:New random seed parameter is stored in first of shift register array;
S13:Last of shift register array is moved to by the new random seed parameter of inverted order displacement method control Position.
It can be seen that, it is all the time that new random seed parameter is stored in shift LD by random seed intermediate result in this method First of device array, last position of register array is moved to by inverted order shift control random seed, and last position is begun It is used in pseudo random number calculation formula update random seed parameter eventually, so calculating Formula Solution using pseudorandom random number determines Not the problem of OpenCL standards do not support the rand nonce generation functions in C language standard, and moved using shift register inverted order Position strategy solves the parameter Dependence Problem in calculation formula, and random number can be produced in OpenCL kernel function, solves The problem of random number is produced can not be realized in Opencl standards.
Based on the above method, further, in step S11, calculated using pseudo random number calculation formula and obtain random number Process is specially:Random seed parameter is initialized, the random seed parameter obtained to last computation, which is updated, to be obtained New random seed parameter, is calculated using new random seed parameter and obtains new random parameter.
Further, also include before step S12:A shift register array is defined, by shift register array Last position is used to update random seed parameter.
Further, step S13 process is specially:Produce every time after random number, inverted order shifting is carried out to shift register Position, new random seed is gradually displaced to last position of shift register array, the calculating for participating in next random number.
Of the invention main realized using the FPGA based on OpenCL standards to big data Processing Algorithm accelerates design, using with Machine number function calculation formula solves the problem of OpenCL standards do not support the rand nonce generation functions in C language standard, and Shift strategy using shift register inverted order and solve parameter Dependence Problem in calculation formula, can OpenCL kernel Random number is produced in (kernel) function, and carries out the parallelization optimization for realizing algorithm using circulation, OpenCL programming moulds are improved The calculating performance of application and algorithm of the type in algorithm optimization.
Wherein, realize that random number is produced in OpenCL kernel functions, utilize shift register inverted order displacement method Solve the data dependence in annual reporting law, boosting algorithm performance.
Wherein, the algorithm part that kernel functions are calculated on FPGA carries out unroll and deployed entirely, further parallel Optimize calculating performance of the boosting algorithm on FPGA.
Invention provides a kind of parallel optimization design method of random number generating algorithm in OpenCL kernel programs, the program Shift register is made full use of, the pseudo random number defined in kernel program produces calculation formula, and is moved with shift register inverted order The parameter that position is solved in calculation formula is relied on, and realizes that whole expansion of streamline are parallel in multiple random numbers produce calculating process Calculate, further improve the calculating performance of algorithm under Distributed Architecture.
This method, which is mainly in solution OpenCL standards, can not realize the problem of random number is produced, first in kernel programs Middle setting random seed parameter, is calculated using pseudo random number calculation formula and produces random number, then all the time by the middle of random seed As a result the 0th of shift register array is stored in, the 2nd of register array is moved to by inverted order shift control random seed Position, the position all the time be used for pseudo random number calculation formula in update random seed parameter, the method solve circulation produce it is multiple with The problem of random seed parameter has data dependence during machine number, eventually through loop unrolling in FPGA, realizes parallel computation, simultaneously The random sampling that multiple random numbers are used in other data processing operations, such as SQL query is produced, algorithm is further improved Concurrency.
False code using pseudo random number calculation formula n random number of generation in kernel is as follows:
Random seed is initialized first, when producing new random number every time using last computation obtain with machine Son, which updates, obtains new random seed, is then calculated using new random seed parameter and obtains new random number;The computational methods It is easy and effective, but when being calculated in FPGA, there is front and rear dependence in random seed parameter, it is impossible to which parallel expansion is calculated, shadow Calculating performance is rung;The false code for preserving intermediate result by shift register shifting processing is as follows:
A shift register array is defined first, and last position of array is used to update random seed parameter, produced every time After random number, inverted order displacement is carried out to register, shift register last value is updated, and by the new with machine of calculating Son is stored in array first;During such cycle calculations random number, random seed updates last position only with register array Relevant, unrelated with other specification, data dependence is eliminated, and can be realized in FPGA parallel in loop unrolling parallel computation, FPGA Calculation process is as shown in Figure 2.
In the false code for producing n random number using pseudo random number calculation formula in kernel, random number is set first The scope and initialization random seed parameter of generation, are then produced using rand () random number in conventional class C language standard The calculation formula of function, which is calculated, updates new random seed, and the random seed obtained using calculating calculates and obtains random number.By There is data dependence when computational algorithm design is performed on FPGA, cause in loop unrolling parallel computation the clock cycle compared with Greatly, performance is calculated undesirable.In the false code that intermediate result is preserved by shift register shifting processing, shift LD is added The setting of device array, is participated in calculating random seed every time with last position of array, and the new random seed that calculating is obtained is temporary Be placed on first of register array, the method shifted by inverted order, by new random seed be gradually moved into array last Position, participates in the calculating of next random number, and the method effectively solves the problems, such as the data dependence of random seed when random number is calculated, The FPGA made clock cycle is optimized for optimal cycle=1;The OpenCL kernel programs solved after data dependence can be by following The mode of ring expansion, improves the concurrency that FPGA is calculated, the calculating performance of further boosting algorithm, algorithm calculation process such as Fig. 2 It is shown.
Realized specifically, the present invention first encodes nonce generation function with OpenCL high-level programming languages, in FPGA Shift register is set to be used for the intermediate result for preserving random seed in board local memory, and will be with machine by inverted order displacement Son is gradually moved into array, and last is used in the calculating of next random number, solves the problems, such as data dependence so that OpenCL The clock cycle of core code is optimized for optimal 1, and improve OpenCL kernel programs finally by loop unrolling calculates on FPGA When concurrency, improve calculate performance.
Fig. 3 is refer to, Fig. 3 is the structure of random number generating apparatus in a kind of OpenCL kernel programs provided by the present invention Schematic diagram, the device is used to realize random-number generating method in above-mentioned OpenCL kernel programs, and the device includes:
Computing module 101, for setting random seed parameter in kernel program, is calculated using pseudo random number calculation formula Obtain random number;
Preserving module 102, for new random seed parameter to be stored in into first of shift register array;
Mobile module 103, for controlling new random seed parameter to be moved to shift register by inverted order displacement method Last position of array.
It can be seen that, it is all the time that new random seed parameter is stored in shift LD by random seed intermediate result in the device First of device array, last position of register array is moved to by inverted order shift control random seed, and last position is begun It is used in pseudo random number calculation formula update random seed parameter eventually, so calculating Formula Solution using pseudorandom random number determines Not the problem of OpenCL standards do not support the rand nonce generation functions in C language standard, and moved using shift register inverted order Position strategy solves the parameter Dependence Problem in calculation formula, and random number can be produced in OpenCL kernel function, solves The problem of random number is produced can not be realized in Opencl standards.
Based on said apparatus, further, computing module is right specifically for setting random seed parameter in kernel program Random seed parameter is initialized, and the random seed parameter obtained to last computation, which is updated, obtains new random seed ginseng Number, is calculated using new random seed parameter and obtains new random parameter.
Further, preserving module also includes:Definition unit, for defining a shift register array, displacement is posted Last position of storage array is used to update random seed parameter.
Further, mobile module carries out inverted order displacement specifically for producing every time after random number to shift register, will New random seed is gradually displaced to last position of shift register array, the calculating for participating in next random number.
The embodiment of each in this specification is described by the way of progressive, and what each embodiment was stressed is and other Between the difference of embodiment, each embodiment identical similar portion mutually referring to.For device disclosed in embodiment For, because it is corresponded to the method disclosed in Example, so description is fairly simple, related part is said referring to method part It is bright.
Random-number generating method in a kind of OpenCL kernel programs provided by the present invention and device have been carried out in detail above It is thin to introduce.Specific case used herein is set forth to the principle and embodiment of the present invention, and above example is said The bright method and its core concept for being only intended to help to understand the present invention.It should be pointed out that for the ordinary skill of the art For personnel, under the premise without departing from the principles of the invention, some improvement and modification can also be carried out to the present invention, these improvement Also fallen into modification in the protection domain of the claims in the present invention.

Claims (8)

1. random-number generating method in a kind of OpenCL kernel programs, it is characterised in that including:
Random seed parameter is set in kernel program, is calculated using pseudo random number calculation formula and obtains random number;
New random seed parameter is stored in first of shift register array;
Last position of shift register array is moved to by the new random seed parameter of inverted order displacement method control.
2. the method as described in claim 1, it is characterised in that calculated using pseudo random number calculation formula and obtain random number, wrapped Include:
Random seed parameter is initialized, the random seed parameter obtained to last computation, which is updated, obtains new random Seed parameter, is calculated using new random seed parameter and obtains new random parameter.
3. method as claimed in claim 2, it is characterised in that new random seed parameter is stored in shift register array First before, in addition to:
A shift register array is defined, last position of shift register array is used to update random seed parameter.
4. method as claimed in claim 3, it is characterised in that described to control new random seed to join by inverted order displacement method Number is moved to last position of shift register array, including:
Produce every time after random number, inverted order displacement is carried out to shift register, new random seed is gradually displaced to displacement and posted Last position of storage array, the calculating for participating in next random number.
5. random number generating apparatus in a kind of OpenCL kernel programs, it is characterised in that for realizing as in Claims 1-4 Method described in any one, including:
Computing module, in kernel program set random seed parameter, using pseudo random number calculation formula calculate obtain with Machine number;
Preserving module, for new random seed parameter to be stored in into first of shift register array;
Mobile module, for controlling new random seed parameter to be moved to shift register array most by inverted order displacement method Latter position.
6. device as claimed in claim 5, it is characterised in that the computing module specifically for set in kernel program with Machine subparameter, is initialized to random seed parameter, and the random seed parameter obtained to last computation, which is updated, to be obtained New random seed parameter, is calculated using new random seed parameter and obtains new random parameter.
7. device as claimed in claim 6, it is characterised in that the preserving module also includes:
Definition unit, for defining a shift register array, last position of shift register array is used to update random Seed parameter.
8. device as claimed in claim 7, it is characterised in that after the mobile module is specifically for generation random number every time, Inverted order displacement is carried out to shift register, new random seed is gradually displaced to last position of shift register array, is used In the calculating for participating in next random number.
CN201710294725.XA 2017-04-28 2017-04-28 Method and device for generating random number in OpenCL kernel program Active CN107145332B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710294725.XA CN107145332B (en) 2017-04-28 2017-04-28 Method and device for generating random number in OpenCL kernel program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710294725.XA CN107145332B (en) 2017-04-28 2017-04-28 Method and device for generating random number in OpenCL kernel program

Publications (2)

Publication Number Publication Date
CN107145332A true CN107145332A (en) 2017-09-08
CN107145332B CN107145332B (en) 2021-06-29

Family

ID=59775142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710294725.XA Active CN107145332B (en) 2017-04-28 2017-04-28 Method and device for generating random number in OpenCL kernel program

Country Status (1)

Country Link
CN (1) CN107145332B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708762A (en) * 2020-06-18 2020-09-25 北京金山云网络技术有限公司 Authority authentication method and device and server equipment
CN112527832A (en) * 2019-09-17 2021-03-19 天翼电子商务有限公司 Rule engine accelerated execution method, device, medium and equipment based on FPGA

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58101515A (en) * 1981-12-14 1983-06-16 Agency Of Ind Science & Technol Binary random number generator
US20040078402A1 (en) * 2000-10-30 2004-04-22 Butler Richard M. Generation of cryptographically strong random numbers using MISRS
CN1858999A (en) * 2005-08-17 2006-11-08 华为技术有限公司 Pseudo-random sequence generating device
CN1987770A (en) * 2005-12-22 2007-06-27 佛山市顺德区顺达电脑厂有限公司 Seed number producer and its producing method
US20130018934A1 (en) * 2011-07-15 2013-01-17 Yong June Kim Methods for operating controllers
CN203119915U (en) * 2013-01-25 2013-08-07 深圳职业技术学院 Device based on hardware encryption data
CN105761753A (en) * 2016-02-02 2016-07-13 清华大学 Data scrambler/descrambler, memory device and scrambling/descrambling method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58101515A (en) * 1981-12-14 1983-06-16 Agency Of Ind Science & Technol Binary random number generator
US20040078402A1 (en) * 2000-10-30 2004-04-22 Butler Richard M. Generation of cryptographically strong random numbers using MISRS
CN1858999A (en) * 2005-08-17 2006-11-08 华为技术有限公司 Pseudo-random sequence generating device
CN1987770A (en) * 2005-12-22 2007-06-27 佛山市顺德区顺达电脑厂有限公司 Seed number producer and its producing method
US20130018934A1 (en) * 2011-07-15 2013-01-17 Yong June Kim Methods for operating controllers
CN203119915U (en) * 2013-01-25 2013-08-07 深圳职业技术学院 Device based on hardware encryption data
CN105761753A (en) * 2016-02-02 2016-07-13 清华大学 Data scrambler/descrambler, memory device and scrambling/descrambling method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
K. ICHINO等: "A seed selection procedure for LFSR-based random pattern generators", 《PROCEEDINGS OF THE ASP-DAC ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE, 2003.》 *
刘倩等: "一种改进的伪随机数生成算法及随机性分析", <<四川理工学院学报( 自然科学版)>> *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527832A (en) * 2019-09-17 2021-03-19 天翼电子商务有限公司 Rule engine accelerated execution method, device, medium and equipment based on FPGA
CN111708762A (en) * 2020-06-18 2020-09-25 北京金山云网络技术有限公司 Authority authentication method and device and server equipment
CN111708762B (en) * 2020-06-18 2023-09-01 北京金山云网络技术有限公司 Authority authentication method and device and server device

Also Published As

Publication number Publication date
CN107145332B (en) 2021-06-29

Similar Documents

Publication Publication Date Title
CN108205702B (en) Parallel processing method for multi-input multi-output matrix convolution
Ye et al. High performance comparison-based sorting algorithm on many-core GPUs
CN101833438A (en) General data processing method based on multiple parallel
CN103336718A (en) GPU thread scheduling optimization method
CN101807144A (en) Prospective multi-threaded parallel execution optimization method
CN107085743A (en) A kind of deep learning algorithm implementation method and platform based on domestic many-core processor
Li et al. Warp-consolidation: A novel execution model for gpus
CN107145332A (en) Random-number generating method and device in a kind of OpenCL kernel programs
Huo et al. Porting irregular reductions on heterogeneous CPU-GPU configurations
KR20160074638A (en) Floating-point supportive pipeline for emulated shared memory architectures
CN112446471B (en) Convolution acceleration method based on heterogeneous many-core processor
Żurek et al. The comparison of parallel sorting algorithms implemented on different hardware platforms
Li et al. Multi-role sptrsv on sunway many-core architecture
Zhou et al. Hands-on performance tuning of 3D finite difference earthquake simulation on GPU fermi chipset
CN101840329A (en) Data parallel processing method based on graph topological structure
CN107423030A (en) Markov Monte carlo algorithm accelerated method based on FPGA heterogeneous platforms
Pereira et al. Extending OpenACC for efficient stencil code generation and execution by skeleton frameworks
CN104793922B (en) A kind of Parallel Implementation method of large integer multiplication Comba algorithms based on OpenMP
CN103942095A (en) Two-dimensional phase position unwrapping method based on heterogeneous accelerating platform
Vu et al. Graphics processing unit optimizations for the dynamics of the HIRLAM weather forecast model
Kyparissas et al. An FPGA-based architecture to simulate cellular automata with large neighborhoods in real time
CN206479986U (en) Data access system
CN111090508B (en) OpenCL-based dynamic task scheduling method between heterogeneous cooperative parallel computing devices
CN103699356B (en) A kind of parallel divider
Gowanlock et al. Sorting large datasets with heterogeneous CPU/GPU architectures

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant