WO2012096672A1 - Arrangement for data processing based on division of the information into fractions - Google Patents
Arrangement for data processing based on division of the information into fractions Download PDFInfo
- Publication number
- WO2012096672A1 WO2012096672A1 PCT/US2011/021361 US2011021361W WO2012096672A1 WO 2012096672 A1 WO2012096672 A1 WO 2012096672A1 US 2011021361 W US2011021361 W US 2011021361W WO 2012096672 A1 WO2012096672 A1 WO 2012096672A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processors
- arrangement
- code
- interphase
- platform
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Definitions
- the instant invention relates to an arrangement for data processing based on division of the information into fractions and to a process for processing said data.
- the instant invention relates to a data processing arrangement which multiples the processing speed as a function of the partition and assignation of information portions such that each of said portions may be processed independently from the remaining ones.
- the instant invention provides a development platform enabling a total access of multiple core processors, graphic processors and vector processors integrating them with a preexisting code.
- the programmer does not need to change the language, but the arrangement allows programming in any of the languages supported by Microsoft, Net or Framework, such as C- and Visual Basic, or in programming languages such as Java, C++, Python, etc., such as to take advantage of the parallel programming potential.
- the invention works with modules depending on the programming language having access to the platform.
- modules are formed by a group of objects and methods which allow the programmer to access the platform.
- the arrangement of the invention includes modules depending on hardware resources, i.e. those controlling and having access to a specific hardware device. These modules have also access to the platform.
- the group of modules depending on hardware resources is, for example, NVIDIA ' S CUD A, INTEL'S TBB/SSE, AMD ' s OPEN CL or IBM Cell.
- the invention includes an interphase which could be considered from two approaches.
- the first is considering that the interphase depends on the programming language selected, while the second approach is considering that the interphase is compiled in a language such as plain C exported from a dynamic library (DLL) or from a shared object.
- DLL dynamic library
- This interphase allows access to computing resources through a multiple device.
- the multidevice is a group of computing resources, such as, for example, a plurality of graphic processors working under the same control object.
- NsArrays may maintain matrixes of different data types, being the types support at present Booll and Bool4 from Boolean; Float, Float2 and Float4 from Floating point and Ulntl, Ulnt4, Intl, Int4, Bytel and Byte4 from Interger.
- Each of said NsArrays forms a base over which parallel programming is performed in the platform such that upon operating them, data to be processed are distributed automatically among the different computing devices handled by the person constructing this particular NsArray.
- data loading and reading from and to NsArrays may be a very expensive operation, therefore general rules of practice recommend loading and reading data few times per computing cycle, the use of a code for loading and computing pre- calculated data being preferred.
- the platform carries out from common operations as additions and multiplications to more complex operations such as pre-fixed additions and fast Fourier transforms (FFT), these are conditioned by the dimensions of the NsArrays transferred to the operators as well as by the types contained therein.
- FFT fast Fourier transforms
- Filters may be also considered as a structure allowing some classes of scattering and gathering operations.
- the programmer may work with the application programming interphase on modules depending on hardware resources, since this interphase facilitates implementing specific functions working with NsArray objects.
- a CUDA kernel is applied for solving the problem in the intersection with Julia assembly.
- the functions of the application programming interphase on modules depending on hardware resources NsGetColumnPtr, NsGetDeviceRowCount and NSGetColumnCount facilitate writing of the code, this resulting in that importation of this code to at least one of the modules depending on hardware resources becomes a very simple task.
- the instant invention comprises a platform engaged to a front end with NET, JAVA, C++ or PYTHON language and a back end provided with a CUBA, a TBB/SSE, an OPEN CL and an IBM Cell.
- the operator employs a code enabling access to the platform and this derives, distributes and assigns each task to one of a plurality of processors to distribute calculation and computation of said tasks, such that, once tasks are finished, the operator downloads data obtained stopping the connection with said processors.
- Figure 1 is a schematic flow diagram showing components and their relationship.
- Figure 2 is a schematic view of a platform engaged to a front end and a back end.
- Figure 3 is a block diagram.
- a platform 1 In order to obtain an arrangement for data processing based on division of information into fractions, a platform 1 is provided enabling total access of different software applications to multiple core processors 2, to graphic processors 3 and to vector processors integrating them with a pre-existing code permitting continuation of programming in any Microsoft, .Net or Framework languages, or in Java, C++ or Python languages taking advantage of the parallel programming potential.
- front end modules 4 comprised by a group of objects and methods depending on the programming language having access to platform 1 as well as modules back end 5 depending on hardware resources controlling and having access to a specific hardware device.
- the group of back end modules 5 is comprised by, for example NVIDIA ' S CUD A, INTEL'S TBB/SSE, AMD ' s OPEN CL or IBM Cell.
- the arrangement includes an application programming interphase 6 which may be considered depending on the selected programming language or may be considered compiled into a language such as plain C exported from a dynamic library 7 or from a shared object.
- Interphase 6 has access to computing resources through a multidevice 8 consisting of, for example, a plurality of graphic processors 3 working together under the same control object as a consequence of initialization of said multidevice 8 which creates multiple NsArrays which in turn will create the required vectors for processing.
- a multidevice 8 consisting of, for example, a plurality of graphic processors 3 working together under the same control object as a consequence of initialization of said multidevice 8 which creates multiple NsArrays which in turn will create the required vectors for processing.
- NsArrays may maintain matrixes of different data types, for example Booll and Bool 4 from Boolean; float, Float2 and Float4 from Floating point and Ulntl, Ulnt4, Intl, Int4, Bytel and Byte4 from Interger, each of said NsArrays forms a base over which parallel programming is carried out in platform 1 , such that upon operation thereof, data to be processed are distributed automatically among the different computing devices handled by the operator who creates this particular NsArray.
- Each platform 1 carries out common and complex operations, therefore these are conditioned by the dimensions of each of the NsArrays transferred to the operators as well as by the types contained therein such as, in order to apply certain operations in a sub-assembly of elements of a given NsArrays, different techniques may be used, the use of filters permitting some kind of operations being preferred.
- Boolean filters acting as such the Boolean NsArrays allowing some kind of scattering and gathering operations.
- a CUDA kernel is applied for solving the problem in the intersection with an assembly.
- the functions of the application programming interphase 6 on modules depending on hardware resources 5 NsGetColumnPtr, NsGetDeviceRowCount and NSGetColumnCount facilitate code writing, this resulting in that importation of this code to at least one of the modules depending on hardware resources 5 becomes a very simple task.
- conversion from objects from a Ns Array to NsArrayHandle native C types takes place.
- the arrangement of the invention allows carrying out a data processing process in order to optimize the use of resources and accelerate the process.
- the invention comprises a series of steps beginning with a selection step 9 where the programmer decides the language to be used and in a second coding step 10 he writes a code with functions of the dynamic library 7.
- a third compilation step 1 the code written in the former step is compiled and executed, and then, in a new selection fourth step 12, the back end is selected as a function of the task to be carried out.
- platform 1 analyze the hardware detecting the existing processors for grouping them into multiple core processors 2, graphic processors 3 and vector processors, integrating them by means of the code created in the coding step 10.
- a design pattern is created in a sixth unification step 14 in order that initialization of processors detected in the fifth step may take place in the seventh initialization step 15.
- Loading of RAM memory is carried in the eighth loading step 16. [0057] At this point, loading of RAM memory is directly connected with the type of processors detected by platform 1 , since although the following steps are conventional; calculation and processing of the information are not.
- the RAM memory is directed to multiple core processors 2 or to graphic processors 3.
- the ninth new loading step 17 comprises loading NsArrays which, during a tenth assignation step 18, distribute information among the multiple core processors 2 or among graphic processors 3 detected in the detection step 13.
- the eleventh step is that of calculation and computing 19, wherein the information distributed among detected processors 2 or 3 is analyzed and computed thereby for obtaining a result that, during the downloading step 20, is downloaded for being used.
- the flow diagram includes a last disconnect step 21 in which, upon finishing downloading of data, disconnects the processors.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
Data processing arrangement which multiples the processing speed as a function of the partition and assignation of information portions such that each of said portions may be processed independently from the remaining ones. The instant invention provides a development platform enabling a total access of multiple core processors, graphic processors and vector processors integrating them with a preexisting code. An application programming interphase allows access to computing resources through a multiple device, which is a group of computing resources. Multi devices are initialized and used to create multiple vectors. Each of said vectors forms a base over which parallel programming is performed in the platform such that upon operating them, data to be processed are distributed automatically among the different computing devices.
Description
ARRANGEMENT FOR DATA PROCESSING BASED ON DIVISION OF THE
INFORMATION INTO FRACTIONS
Field of the Invention
[0001] The instant invention relates to an arrangement for data processing based on division of the information into fractions and to a process for processing said data.
[0002] A preferred embodiment of the invention will described below. This description is merely an example and in no way limits the scope of the invention.
Object
[0003] The instant invention relates to a data processing arrangement which multiples the processing speed as a function of the partition and assignation of information portions such that each of said portions may be processed independently from the remaining ones.
[0004] The instant invention provides a development platform enabling a total access of multiple core processors, graphic processors and vector processors integrating them with a preexisting code.
[0005] Therefore, the programmer does not need to change the language, but the arrangement allows programming in any of the languages supported by Microsoft, Net or Framework, such as C- and Visual Basic, or in programming languages such as Java, C++, Python, etc., such as to take advantage of the parallel programming potential.
[0006] As such, the invention works with modules depending on the programming language having access to the platform.
[0007] These modules, as already mentioned are, for example, NET, JAVA, C++ or PYTHON, are formed by a group of objects and methods which allow the programmer to access the platform.
[0008] Also, the arrangement of the invention includes modules depending on hardware resources, i.e. those controlling and having access to a specific hardware device. These modules have also access to the platform.
[0009] The group of modules depending on hardware resources is, for example, NVIDIA'S CUD A, INTEL'S TBB/SSE, AMD's OPEN CL or IBM Cell.
[0010] Now, in order to attain a total access to the different software applications available, the invention includes an interphase which could be considered from two approaches.
[0011] The first is considering that the interphase depends on the programming language selected, while the second approach is considering that the interphase is compiled in a language such as plain C exported from a dynamic library (DLL) or from a shared object.
[0012] This interphase allows access to computing resources through a multiple device.
[0013] The multidevice is a group of computing resources, such as, for example, a plurality of graphic processors working under the same control object.
[0014] There are several ways, manual or automatic, for initializing a new multidevice. Thus, if C- is taken in a case of interphase depending on the programming language, initialization of a multidevice groups all graphic processors available in the machine under the same multidevice.
[0015] Once one or more multidevices are initialized, vector creation is then a simple task since such multidevice will create multiple NsArrays.
[0016] NsArrays may maintain matrixes of different data types, being the types support at present Booll and Bool4 from Boolean; Float, Float2 and Float4 from Floating point and Ulntl, Ulnt4, Intl, Int4, Bytel and Byte4 from Interger.
[0017] Each of said NsArrays forms a base over which parallel programming is performed in the platform such that upon operating them, data to be processed are distributed automatically among the different computing devices handled by the person constructing this particular NsArray.
[0018] In equipment with modules depending on hardware resources, and specially those using a PCI Express channel for interconnecting, data loading and reading from and to NsArrays may be a very expensive operation, therefore general rules of practice recommend loading and reading data few times per computing cycle, the use of a code for loading and computing pre- calculated data being preferred.
[0019] Since the platform carries out from common operations as additions and multiplications to more complex operations such as pre-fixed additions and fast Fourier transforms (FFT), these are conditioned by the dimensions of the NsArrays transferred to the operators as well as by the types contained therein.
[0020] Different techniques may be used in order to apply certain operations to a subassembly of elements of a given NsArray even though Boolean NsArrays act as filters.
[0021] Filters may be also considered as a structure allowing some classes of scattering and gathering operations.
[0022] Many times it is necessary to implement a function which requires taking advantage of all the power of some of the modules depending on hardware resources, such as in the case in which, for example, it is necessary to reiterate several times through a part of the particular code for computing the estimated distance to an object.
[0023] If the case complexity so requires, the programmer may work with the application programming interphase on modules depending on hardware resources, since this interphase facilitates implementing specific functions working with NsArray objects.
[0024] This is an exported plain C function using the application programming interphase over modules depending on hardware resources for invoking the call function "Cblntersect", which finally calls the corresponding module depending on hardware resources.
[0025] In this case, a CUDA kernel is applied for solving the problem in the intersection with Julia assembly. The functions of the application programming interphase on modules
depending on hardware resources NsGetColumnPtr, NsGetDeviceRowCount and NSGetColumnCount facilitate writing of the code, this resulting in that importation of this code to at least one of the modules depending on hardware resources becomes a very simple task.
[0026] Then, conversion of objects from an NsArray to NsArrayHandle native C types takes place.
[0027] As an example, when a code of modules depending on hardware resources is being implemented, located in a separate dynamic library, while in a pure C# method operations of the instant invention are used, both calls are integrated in the same code.
[0028] Depuration of errors in a device may a very complex task often requiring special hardware and software.
[0029] This is not required with the arrangement of the instant invention, since errors are depurated easily with the aid of a standard depurator such as Visual Studio or the like, showing automatically the contents of the arrangement data structures when required by the user.
Summary of the Invention
[0030] Basically, the instant invention comprises a platform engaged to a front end with NET, JAVA, C++ or PYTHON language and a back end provided with a CUBA, a TBB/SSE, an OPEN CL and an IBM Cell.
[0031] The operator employs a code enabling access to the platform and this derives, distributes and assigns each task to one of a plurality of processors to distribute calculation and computation of said tasks, such that, once tasks are finished, the operator downloads data obtained stopping the connection with said processors.
Brief Description of the Drawings
[0032] Figure 1 is a schematic flow diagram showing components and their relationship.
[0033] Figure 2 is a schematic view of a platform engaged to a front end and a back end.
[0034] Figure 3 is a block diagram.
References
[0035] Different reference symbols are included in the attached drawings. The same references designate the same or corresponding parts, as follows:
1. Platform
2. Multiple core processor
3. Graphic processor
4. Front end module or module depending on programming language.
5. Back end module or module depending on hardware resources.
6. Application programming interphase.
7. Dynamic library.
8. Multidevice.
9. Selection step.
10. Coding step.
11. Compilation step.
12. New selection step
13. Detection step
14. Unification step.
15. Initialization step.
16. Loading step
17. New loading step
18. Assignation step
19. Calculation and computing step
20. Downloading step
21. Disconnecting step
Operation
[0036] In order to obtain an arrangement for data processing based on division of information into fractions, a platform 1 is provided enabling total access of different software applications to multiple core processors 2, to graphic processors 3 and to vector processors integrating them with a pre-existing code permitting continuation of programming in any Microsoft, .Net or Framework languages, or in Java, C++ or Python languages taking advantage of the parallel programming potential.
[0037] To this end, the instant arrangement works with front end modules 4 comprised by a group of objects and methods depending on the programming language having access to platform 1 as well as modules back end 5 depending on hardware resources controlling and having access to a specific hardware device.
[0038] The group of back end modules 5 is comprised by, for example NVIDIA'S CUD A, INTEL'S TBB/SSE, AMD's OPEN CL or IBM Cell.
[0039] In order to attain a total access to the different software applications available, the arrangement includes an application programming interphase 6 which may be considered depending on the selected programming language or may be considered compiled into a language such as plain C exported from a dynamic library 7 or from a shared object.
[0040] Interphase 6 has access to computing resources through a multidevice 8 consisting of, for example, a plurality of graphic processors 3 working together under the same control object as a consequence of initialization of said multidevice 8 which creates multiple NsArrays which in turn will create the required vectors for processing.
[0041] Since NsArrays may maintain matrixes of different data types, for example Booll and Bool 4 from Boolean; float, Float2 and Float4 from Floating point and Ulntl, Ulnt4, Intl, Int4, Bytel and Byte4 from Interger, each of said NsArrays forms a base over which parallel programming is carried out in platform 1 , such that upon operation thereof, data to be processed are
distributed automatically among the different computing devices handled by the operator who creates this particular NsArray.
[0042] In equipment with modules depending on hardware resources 5, and specially those using a PCI Express channel for interconnecting, data loading and computation is effected using a code.
[0043] Each platform 1 carries out common and complex operations, therefore these are conditioned by the dimensions of each of the NsArrays transferred to the operators as well as by the types contained therein such as, in order to apply certain operations in a sub-assembly of elements of a given NsArrays, different techniques may be used, the use of filters permitting some kind of operations being preferred.
[0044] Among available filters, there are Boolean filters, acting as such the Boolean NsArrays allowing some kind of scattering and gathering operations.
[0045] In cases where it is necessary to implement a function requiring to take advantage of all the power of some of the modules depending on hardware resources 5, such as for example reiteration of a code part, the programmer may work with the application programming interphase 6 on modules depending on hardware resources 5, since said application programming interphase 6 facilitates implementation of specific functions working with NsArray objects.
[0046] This is an exported plain C function using the application programming interphase over modules depending on hardware resources 5 for invoking the call function "Cblntersect", which finally calls the corresponding module depending on hardware resources 5.
[0047] In this case, a CUDA kernel is applied for solving the problem in the intersection with an assembly. The functions of the application programming interphase 6 on modules depending on hardware resources 5 NsGetColumnPtr, NsGetDeviceRowCount and NSGetColumnCount facilitate code writing, this resulting in that importation of this code to at least one of the modules depending on hardware resources 5 becomes a very simple task.
[0048] Then, conversion from objects from a Ns Array to NsArrayHandle native C types takes place.
[0049] For example, when a code of modules depending on hardware resources is being implemented, located in a separate dynamic library 7, while in a pure C# method operations of the instant invention are used, both calls are integrated in the same code.
[0050] Depuration of errors in a device may a very complex task often requiring special hardware and software.
[0051] This is not required with the arrangement of the instant invention since errors are depurated easily with the aid of a standard depurator such as Visual Studio or the like, showing automatically the contents of the arrangement data structures when required by the user.
[0052] The arrangement of the invention allows carrying out a data processing process in order to optimize the use of resources and accelerate the process. As shown in figure 1, the invention comprises a series of steps beginning with a selection step 9 where the programmer decides the language to be used and in a second coding step 10 he writes a code with functions of the dynamic library 7.
[0053] In a third compilation step 1 1, the code written in the former step is compiled and executed, and then, in a new selection fourth step 12, the back end is selected as a function of the task to be carried out.
[0054] Then, in a fifth detection step 13 platform 1 analyze the hardware detecting the existing processors for grouping them into multiple core processors 2, graphic processors 3 and vector processors, integrating them by means of the code created in the coding step 10.
[0055] In order to maintain calculation and processing uniformity, a design pattern is created in a sixth unification step 14 in order that initialization of processors detected in the fifth step may take place in the seventh initialization step 15.
[0056] Loading of RAM memory is carried in the eighth loading step 16.
[0057] At this point, loading of RAM memory is directly connected with the type of processors detected by platform 1 , since although the following steps are conventional; calculation and processing of the information are not.
[0058] Consequently, the RAM memory is directed to multiple core processors 2 or to graphic processors 3.
[0059] The ninth new loading step 17 comprises loading NsArrays which, during a tenth assignation step 18, distribute information among the multiple core processors 2 or among graphic processors 3 detected in the detection step 13.
[0060] The eleventh step is that of calculation and computing 19, wherein the information distributed among detected processors 2 or 3 is analyzed and computed thereby for obtaining a result that, during the downloading step 20, is downloaded for being used.
[0061] The flow diagram includes a last disconnect step 21 in which, upon finishing downloading of data, disconnects the processors.
[0062] Having described the preferred embodiment, it will become apparent that various modifications can be made without departing from the scope of the invention as defined in the accompanying claims.
Claims
1. Arrangement for processing data based on division of the information into fractions, of the type comprised by at least one multiple core processor, at least one graphic processor and at least one vector processor, characterized by comprising at least one platform connected to an application programming interphase depending on the selected programming language or compiled in a language exported from a dynamic library or from a shared object enabling total access of different software applications to said multiple core, graphic and vector processors integrating them with a pre-existing code; the platform being connected to front end modules comprised by a group of objects and methods depending on the programming language and back end modules depending on the hardware which control and have access to a specific hardware device; the application programming interphase thereof having access to computing resources through a multidevice creating multiple NsArrays which create the vectors required for processing, each of said NsArrays forming a base over which parallel programming is carried out in the platform such that data to be processed are distributed automatically among the different computing devices handled by the creator of that particular NsArray; the platform effecting common and complex operations conditioned by the dimensions of each of said NsArrays transferred to the operators as well as by the types contained therein, so that for applying certain operations in a sub-assembly of elements of a given NsArray, different techniques may be used; the application programming interphase allowing taking advantage of the power of at least one of the modules depending on hardware resources implementing specific functions working with NsArray objects invoking the call function "Cblntersect" and the code of the corresponding module depending on hardware resources, said modules depending on hardware resources facilitating code writing, this resulting in importation of the latter to at least
one of such modules selected among NsGetColumnPtr, NsGetDeviceRowCount and NSGetColumnCount.
2. Arrangement as claimed in claim 1, characterized in that the pre-existing code allows continuation of the program in any of the languages supported by Microsoft, Net or Framework, or in Java, C++ or Python languages thus taking advantage of the parallel programming potential.
3. Arrangement as claimed in claim 1, characterized in that the group of back end modules is formed by, among others, NVIDIA'S CUDA, INTEL'S TBB/SSE, AMD's OPEN CL or IBM Cell.
4. Arrangement as claimed in claim 1, characterized in that the multidevice is comprised by, for example, a plurality of graphic processors working grouped under the same control object as a consequence of the initialization of said multidevice.
5. Arrangement as claimed in claim 1, characterized in that the application programming interphase is compiled in a language such as plain C.
6. Arrangement as claimed in claim 1, characterized in that the NsArrays may maintain matrixes of different type of data such as, for example, Booll and Bool4 from Boolean; float, Float2 and Float4 from Floating point and Ulntl, Ulnt4, Intl, Int4, Bytel and Byte4 from Interger.
7. Arrangement as claimed in claim 1, characterized in that filters permitting some kinds of operations are used in order to apply certain operations to a sub-assembly of elements of a given NsArray.
8. Arrangement as claimed in claim 7, characterized in that said filters are Boolean filters, Boolean NsArrays acting as such to permit some types of scattering and gathering operations.
9. Arrangement as claimed in claim 1 , characterized in that a CUDA kernel is used to solve the problem of intersection with an application programming interphase.
10. Process for processing data based on division of information intro fractions carried out by the arrangement of claim 1, characterized by comprising the following steps:
a. selection of the language to be used,
b. coding for writing a code having functions of the dynamic library,
c. compilation and execution of the code written in step b,
d. new selection of the back end as a function of the task to be carried out,
e. detection of the platform and analysis of the hardware detecting the existing processors grouping them in multiple core processors, graphic processors and vector processors and integrating them by means of a code created in the coding step,
f. unification and creation of a design pattern,
g. initialization, wherein the detected processors are initialized,
h. loading of RAM memory, oriented as a function of the detected processors,
i. new loading where the NsArray is loaded,
j. new assignation to distribute information among detected multiple core processors or graphic processors,
k. calculation and computation wherein information is distributed among the detected processors, analyzed and computed thereby to obtain a result,
1. downloading of the information to be used,
m. disconnection of processors.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/007,215 US20110173642A1 (en) | 2010-01-14 | 2011-01-14 | Arrangement for Data Processing Based on Division of the Information into Fractions |
| US13/007,215 | 2011-01-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012096672A1 true WO2012096672A1 (en) | 2012-07-19 |
Family
ID=46507815
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2011/021361 Ceased WO2012096672A1 (en) | 2011-01-14 | 2011-01-14 | Arrangement for data processing based on division of the information into fractions |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2012096672A1 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080100629A1 (en) * | 2003-11-19 | 2008-05-01 | Reuven Bakalash | Computing system capable of parallelizing the operation of multiple graphics processing units (GPUS) supported on a CPU/GPU fusion-type chip and/or multiple GPUS supported on an external graphics card |
| US20100156888A1 (en) * | 2008-12-23 | 2010-06-24 | Intel Corporation | Adaptive mapping for heterogeneous processing systems |
| US20100218196A1 (en) * | 2008-02-08 | 2010-08-26 | Reservoir Labs, Inc. | System, methods and apparatus for program optimization for multi-threaded processor architectures |
| US20110010715A1 (en) * | 2006-06-20 | 2011-01-13 | Papakipos Matthew N | Multi-Thread Runtime System |
-
2011
- 2011-01-14 WO PCT/US2011/021361 patent/WO2012096672A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080100629A1 (en) * | 2003-11-19 | 2008-05-01 | Reuven Bakalash | Computing system capable of parallelizing the operation of multiple graphics processing units (GPUS) supported on a CPU/GPU fusion-type chip and/or multiple GPUS supported on an external graphics card |
| US20110010715A1 (en) * | 2006-06-20 | 2011-01-13 | Papakipos Matthew N | Multi-Thread Runtime System |
| US20100218196A1 (en) * | 2008-02-08 | 2010-08-26 | Reservoir Labs, Inc. | System, methods and apparatus for program optimization for multi-threaded processor architectures |
| US20100156888A1 (en) * | 2008-12-23 | 2010-06-24 | Intel Corporation | Adaptive mapping for heterogeneous processing systems |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8856667B2 (en) | Graphical state machine based programming for a graphical user interface | |
| US5237691A (en) | Method and apparatus for automatically generating parallel programs from user-specified block diagrams | |
| US8478967B2 (en) | Automatically creating parallel iterative program code in a data flow program | |
| Dastgeer et al. | Auto-tuning SkePU: a multi-backend skeleton programming framework for multi-GPU systems | |
| US9733914B2 (en) | Loop parallelization analyzer for data flow programs | |
| EP4235509A2 (en) | Neural network instruction set architecture | |
| EP3502975A1 (en) | Methods and apparatus for model parallelism in artificial neural networks | |
| EP2447832A1 (en) | Calling an entity of a graphical model with a non-graphical entity and calling a non-graphical entity of a graphical model with a graphical entity | |
| US20160188299A1 (en) | System And Method For Automatic Extraction Of Software Design From Requirements | |
| US20170262262A1 (en) | Application platform for designing and executing applications | |
| US10540150B2 (en) | Composable context menus | |
| US8260598B2 (en) | Size vector sharing in code generated for variable-sized signals | |
| CN115185496A (en) | Service arrangement method based on Flowable workflow engine | |
| EP4024286A1 (en) | Computing method and apparatus for convolutional neural network model | |
| CN101566955A (en) | Multithreading icon programming system | |
| Samsi et al. | MATLAB for signal processing on multiprocessors and multicores | |
| US20110173642A1 (en) | Arrangement for Data Processing Based on Division of the Information into Fractions | |
| WO2012096672A1 (en) | Arrangement for data processing based on division of the information into fractions | |
| Bakanov | Software complex for modeling and optimization of program implementation on parallel calculation systems | |
| Ulgen et al. | Simulation modeling in an object-oriented environment using Smalltalk-80 | |
| CN109241564A (en) | A kind of Photographing On-line method and apparatus of computer room assets | |
| Lienen et al. | Task mapping for hardware-accelerated robotics applications using reconros | |
| Hamlet et al. | Transportable package software | |
| Napoli et al. | Cost effective deep learning on the cloud | |
| Sheraga et al. | Experiments in automatic microcode generation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11855665 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: DECISION TO REFUSE A EUROPEAN PATENT APPLICATION (EPO FORM 1205N DATED 20/09/2013) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 11855665 Country of ref document: EP Kind code of ref document: A1 |