Patents by Inventor Nicolas Ventroux
Nicolas Ventroux has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20230342198Abstract: A method for reproducible parallel discrete-event simulation at electronic system level implemented by means of a multi-core computer system, the simulation method comprising a succession of evaluation phases, implemented by a simulation kernel executed by the computer system, comprising the following steps: parallel process scheduling; dynamic detection of shared addresses of at least one shared memory of an electronic system simulated by concurrent processes, at addresses of the shared memory, using a state machine, respectively associated with each address of the shared memory; avoidance of access conflicts at addresses of the shared memory by concurrent processes, by pre-emption of a process by the kernel when the process introduces an inter-process dependency of “read after write” or “write after read or write” type; verification of access conflicts at shared-memory addresses by analysis of the inter-process dependencies using a trace of the accesses to the shared-memory addresses of each evaluation phasType: ApplicationFiled: October 8, 2020Publication date: October 26, 2023Inventors: Gabriel BUSNOT, Tanguy SASSOLAS, Nicolas VENTROUX
-
Publication number: 20220086021Abstract: The electronic architecture carries out the management of the functions of a vehicle, the functions being implemented via a set of sensors and actuators, the architecture comprising at least: a central computer; a real-time communication network; a set of interface modules, each module: aggregating signals from at least one of the sensors and sending the signals to the central computer via the communication network; and/or distributing control signals to at least one of the actuators; the central computer driving the actuators according to the signals from the sensors, the control signals for the actuators being sent to the interface modules via the communication network.Type: ApplicationFiled: December 9, 2019Publication date: March 17, 2022Inventors: Jean-Marc PHILIPPE, Alexandre CARBON, Raphaël DAVID, Nicolas VENTROUX, Robert FAURE, Laurent FORGEOT, Laurent LE GARFF, Jean-Yves STINEAU
-
Publication number: 20210334334Abstract: A circuit for generating twiddle factors for an NTT processor. The circuit includes a cache management manager, a modular multipliers bank, and a central controller. The cache management module includes a local controller and a cache memory in which operands are stored for calculating future twiddle factors. The modular multipliers bank includes an interconnection matrix at the input distributing operands on the modular multiplier inputs. The circuit can be configured to minimise the size of the cache memory and/or reduce the latency of the twiddle factor sequence calculation. Finally, the generating circuit may include several calculation management modules sharing the same modular multipliers bank to generate sequences of twiddle factors on several finite fields.Type: ApplicationFiled: July 9, 2019Publication date: October 28, 2021Applicant: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVESInventors: Joel CATHEBRAS, Alexandre CARBON, Renaud SIRDEY, Nicolas VENTROUX
-
Publication number: 20210318869Abstract: The present invention relates to a stream-based NTT processor comprising: a plurality (K) of processing stages (210k, k=0, . . . , K?1) organised in a pipeline (210); a plurality (G+1) of memory banks (220g, g=0, . . . , G); a read management module (260) for reading, within one memory) of a memory bank (220g) of the processor, sets of twiddle factors intended for parameterising a processing stage (210k); a write management module (270) for receiving, in the form of successive blocks, a set of twiddle factors and writing said sets of twiddle factors into the memories of a memory bank, the writing being carried out cyclically in the memory banks, each new set of twiddle factors being written into a new memory bank; and a control module for controlling the writing and reading of twiddle factors as well as the progression of data blocks through the processing stages.Type: ApplicationFiled: July 9, 2019Publication date: October 14, 2021Applicant: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVESInventors: Joel CATHEBRAS, Alexandre CARBON, Renaud SIRDEY, Nicolas VENTROUX
-
Patent number: 10943041Abstract: An electronic system-level parallel simulation method by means of a multi-core computer system, comprising the parallel evaluation of a plurality of concurrent processes of the simulation on a plurality of cores of the computer system and comprising a sub-method of detection of conflicts of access to a shared memory of a simulated electronic system, the sub-method being implemented by a simulation kernel executed by the computer system and comprises: a step of construction of an oriented graph representative of access to the shared memory by the processes evaluated by the concurrent processes; and a step of detection of loops in the graph; a loop being considered representative of a conflict of access to the shared memory. A computer program product for implementing such a method is provided.Type: GrantFiled: October 26, 2016Date of Patent: March 9, 2021Assignee: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVESInventors: Nicolas Ventroux, Tanguy Sassolas
-
Patent number: 10789397Abstract: A method of performing Electronic System Level simulation using a multi-core computing system comprises the steps of: A) Running a Discrete Event Simulation kernel on a core of the multi-core computing system, within a dedicated OS-kernel-level thread; B) Using the Discrete Event Simulation kernel for generating a plurality of OS-kernel-level threads, each associated to a respective core, and for distributing concurrent processes of the simulation among them; C) Carrying out parallel evaluation of the concurrent processes within the corresponding threads using respective cores; and then D) Using the Discrete Event Simulation kernel for processing event notifications, updating a simulation time and scheduling next processes to be evaluated; steps C) and D) being carried out iteratively until the end of the simulation. A computer program product including a hardware description Application Program Interface and a Discrete Event Simulation kernel adapted for carrying out such a method is also provided.Type: GrantFiled: June 22, 2016Date of Patent: September 29, 2020Assignee: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVESInventor: Nicolas Ventroux
-
Patent number: 10416925Abstract: A distributed computation system comprising computation units and memory shared between computation units, comprises a hardware module for detecting conflicts of access of computation units to shared memory; each hardware module for detecting conflicts configured to: store a probabilistic data structure, indicative of the addresses of shared memory involved in the current transactions; receive at least one message indicative of request for access, by one computation unit to an address of shared memory; determine, from a probabilistic data structure, whether the address is already involved in a current transaction, and transmit a message indicating presence or absence of access conflicts; receive a message indicative or confirmative of reservation or releasing of an address of shared memory, and update the probabilistic data structure for the reserved addresses and the released addresses to be considered, as being/not being involved in a current transaction. A method for using the system is provided.Type: GrantFiled: April 9, 2015Date of Patent: September 17, 2019Assignee: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVESInventors: Julien Peeters, Nicolas Ventroux, Tanguy Sassolas, Marc Shapiro
-
Publication number: 20190057173Abstract: An electronic system-level parallel simulation method by means of a multi-core computer system, comprising the parallel evaluation of a plurality of concurrent processes of the simulation on a plurality of cores of the computer system and comprising a sub-method of detection of conflicts of access to a shared memory of a simulated electronic system, the sub-method being implemented by a simulation kernel executed by the computer system and comprises: a step of construction of an oriented graph representative of access to the shared memory by the processes evaluated by the concurrent processes; and a step of detection of loops in the graph; a loop being considered representative of a conflict of access to the shared memory. A computer program product for implementing such a method is provided.Type: ApplicationFiled: October 26, 2016Publication date: February 21, 2019Applicant: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVESInventors: Nicolas VENTROUX, Tanguy SASSOLAS
-
Publication number: 20180173825Abstract: A method of performing Electronic System Level simulation using a multi-core computing system comprises the steps of: A) Running a Discrete Event Simulation kernel on a core of the multi-core computing system, within a dedicated OS-kernel-level thread; B) Using the Discrete Event Simulation kernel for generating a plurality of OS-kernel-level threads, each associated to a respective core, and for distributing concurrent processes of the simulation among them; C) Carrying out parallel evaluation of the concurrent processes within the corresponding threads using respective cores; and then D) Using the Discrete Event Simulation kernel for processing event notifications, updating a simulation time and scheduling next processes to be evaluated; steps C) and D) being carried out iteratively until the end of the simulation. A computer program product including a hardware description Application Program Interface and a Discrete Event Simulation kernel adapted for carrying out such a method is also provided.Type: ApplicationFiled: June 22, 2016Publication date: June 21, 2018Inventor: Nicolas VENTROUX
-
Patent number: 9612863Abstract: A device is provided for accelerating, on a platform comprising a plurality of processing units, the execution of a SystemC simulation of a system, said simulation comprising a SystemC kernel and SystemC processes. The device comprises hardware means for scheduling the SystemC processes on the processing units in a dynamic manner during the execution of the simulation, these means making it possible notably to preempt the processing units.Type: GrantFiled: February 13, 2012Date of Patent: April 4, 2017Assignee: Commissariat A L'Energie Atomique et aux Energies AlternativesInventor: Nicolas Ventroux
-
Publication number: 20170017435Abstract: A distributed computation system comprising computation units and memory shared between computation units, comprises a hardware module for detecting conflicts of access of computation units to shared memory; each hardware module for detecting conflicts configured to: store a probabilistic data structure, indicative of the addresses of shared memory involved in the current transactions; receive at least one message indicative of request for access, by one computation unit to an address of shared memory; determine, from a probabilistic data structure, whether the address is already involved in a current transaction, and transmit a message indicating presence or absence of access conflicts; receive a message indicative or confirmative of reservation or releasing of an address of shared memory, and update the probabilistic data structure for the reserved addresses and the released addresses to be considered, as being/not being involved in a current transaction. A method for using the system is provided.Type: ApplicationFiled: April 9, 2015Publication date: January 19, 2017Inventors: Julien PEETERS, Nicolas VENTROUX, Tanguy SASSOLAS, Marc SHAPIRO
-
Publication number: 20170004232Abstract: A method for accelerating the updating of the linking elements in a simulation of a system generated according to a given hardware description language, the method comprising a phase for evaluating the eligible processes of the system, the evaluation phase comprising write or read accesses to linking elements. For each linking element, two write memory locations are provided. The evaluation phase comprises the updating of a linking element for each write or read access of the linking element. The update comprises the following steps: receive a selection word associated with the linking element; select one of the two write locations associated with the linking element depending on the value of the selection word received for the linking element; and update the current value of the linking element based on the write memory location selected.Type: ApplicationFiled: February 5, 2014Publication date: January 5, 2017Inventors: Nicolas VENTROUX, Tanguy SASSOLAS
-
Publication number: 20150379172Abstract: A method for accelerating the updating of the linking elements in a simulation of a system generated according to a given hardware description language, the method comprising a phase for evaluating the eligible processes of the system, the evaluation phase comprising write or read accesses to linking elements. For each linking element, two write memory locations are provided. The evaluation phase comprises the updating of a linking element for each write or read access of the linking element. The update comprises the following steps: receive a selection word associated with the linking element; select one of the two write locations associated with the linking element depending on the value of the selection word received for the linking element; and update the current value of the linking element based on the write memory location selected.Type: ApplicationFiled: February 5, 2014Publication date: December 31, 2015Inventors: Nicolas VENTROUX, Tanguy SASSOLAS
-
Patent number: 9164807Abstract: A system including a plurality of processing units for executing tasks in parallel and a communication network. The processing units are organized into clusters of units, each cluster comprising a local memory. The system includes means for statically allocating tasks to each cluster of units, so that a task of an application is processed by the same cluster of units from one execution to another. Each cluster includes cluster management means for allocating tasks to each of its processing units and space in the local memory for executing them, so that a given task of an application may not be processed by the same processing unit from one execution to another. The cluster management means includes means for managing the tasks, means for managing the processing units, means for managing the local memory and means for managing the communications involving its processing units. The management means operate simultaneously and cooperatively.Type: GrantFiled: December 11, 2008Date of Patent: October 20, 2015Assignee: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVESInventors: Frédéric Blanc, Thierry Collette, Raphaël David, Vincent David, Michel Harrand, Stéphane Louise, Nicolas Ventroux
-
Patent number: 9086920Abstract: In a device for managing data buffers in a memory space distributed over a plurality of memory elements, the memory space is allocatable by memory pages, each buffer including one or more memory pages. The buffers are usable by at least one processing unit for the execution of an application, the application being executed by a plurality of processing units executing tasks in parallel. The memory elements are accessible in parallel by the processing units. The device includes means for allocating buffers to the tasks during the execution of the application and means for managing access rights to the buffers. The means for managing the access rights to the buffers include means for managing access rights to the pages in a given buffer, to verify that writing to a given page does not modify data currently being read from the page or that reading from a given page does not access data currently being written to the page, in such a way as to share the buffer between unsynchronized tasks.Type: GrantFiled: October 20, 2009Date of Patent: July 21, 2015Assignee: Commissariat A L'Energie Atomique et aux Energies AlternativesInventors: Raphael David, Nicolas Ventroux
-
Patent number: 9052957Abstract: The system for conducting intensive multitask and multistream calculation in real time comprises a central processor core (SPP) for supporting the system software and comprising a control unit (ESCU) for assigning threads of an application, the non-critical threads being run by the central processor core (SPP), whereas the intensive or specialized threads are assigned to an auxiliary processing part (APP) comprising a set of N auxiliary calculation units (APU0, . . . , APUN-1) that are optimized for fast processing of certain operations, a memory space (SMS) shared by the auxiliary calculation units (APU0, . . . , APUN-1) via an internal network and a unit (ACU) for controlling and assigning the auxiliary resources. The various elements of the system are arranged in such a manner that communication between the various auxiliary calculation units (APU0, . . . , APUN-1) or between those auxiliary calculation units (APU0, . . .Type: GrantFiled: June 8, 2006Date of Patent: June 9, 2015Assignee: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVESInventors: Raphaël David, David Vincent, Nicolas Ventroux, Thierry Collette
-
Publication number: 20140325516Abstract: A device is provided for accelerating, on a platform comprising a plurality of processing units, the execution of a SystemC simulation of a system, said simulation comprising a SystemC kernel and SystemC processes. The device comprises hardware means for scheduling the SystemC processes on the processing units in a dynamic manner during the execution of the simulation, these means making it possible notably to preempt the processing units.Type: ApplicationFiled: February 13, 2012Publication date: October 30, 2014Applicant: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES AL TERNATIVESInventor: Nicolas Ventroux
-
Patent number: 8522243Abstract: The invention relates to a method for scheduling the processing of tasks and to the associated device, the processing of a task comprising a step for configuring resources required for executing the task and a step for executing the task on the thereby configured resources, the method comprising a selection (1) of at least one level of independent tasks to be processed in accordance with an order of precedence and a step for sorting (2) out the tasks of the level of tasks to be processed in order to define, an order of priority in the processing of the tasks, depending on the number of resources required for processing the tasks on the one hand and on a time characteristic of the tasks on the other hand.Type: GrantFiled: July 28, 2005Date of Patent: August 27, 2013Assignee: Commissariat a l'Energie AtomiqueInventors: Nicolas Ventroux, Stéphane Chevobbe, Frédéric Blanc, Thierry Collette
-
Publication number: 20130158892Abstract: A method for selecting, from a plurality of processing resources capable in an information-processing system of carrying out one and the same type of process, one of the resources so that it carries out a process of said type, the method including estimating the probable time to failure for each of the resources, the resource being selected so that the probable times to failure of the resources evolve in a substantially identical manner.Type: ApplicationFiled: January 5, 2011Publication date: June 20, 2013Inventors: Olivier Heron, Julien Guilhemsang, Tushar Gupta, Nicolas Ventroux
-
Publication number: 20110307677Abstract: In a device for managing data buffers in a memory space distributed over a plurality of memory elements, the memory space is allocatable by memory pages, each buffer including one or more memory pages. The buffers are usable by at least one processing unit for the execution of an application, the application being executed by a plurality of processing units executing tasks in parallel. The memory elements are accessible in parallel by the processing units. The device includes means for allocating buffers to the tasks during the execution of the application and means for managing access rights to the buffers. The means for managing the access rights to the buffers include means for managing access rights to the pages in a given buffer, to verify that writing to a given page does not modify data currently being read from the page or that reading from a given page does not access data currently being written to the page, in such a way as to share the buffer between unsynchronized tasks.Type: ApplicationFiled: October 20, 2009Publication date: December 15, 2011Applicant: Commissariat A L'Energie Atomique Et Aux Energies AlternativesInventors: Raphael David, Nicolas Ventroux