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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
- G06F7/584—Pseudo-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
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.
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)
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)
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 |
-
2017
- 2017-04-28 CN CN201710294725.XA patent/CN107145332B/en active Active
Patent Citations (7)
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)
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)
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 |