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: 20230342198
    Abstract: 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 phas
    Type: Application
    Filed: October 8, 2020
    Publication date: October 26, 2023
    Inventors: Gabriel BUSNOT, Tanguy SASSOLAS, Nicolas VENTROUX
  • Publication number: 20220086021
    Abstract: 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: Application
    Filed: December 9, 2019
    Publication date: March 17, 2022
    Inventors: Jean-Marc PHILIPPE, Alexandre CARBON, Raphaël DAVID, Nicolas VENTROUX, Robert FAURE, Laurent FORGEOT, Laurent LE GARFF, Jean-Yves STINEAU
  • Publication number: 20210334334
    Abstract: 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: Application
    Filed: July 9, 2019
    Publication date: October 28, 2021
    Applicant: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
    Inventors: Joel CATHEBRAS, Alexandre CARBON, Renaud SIRDEY, Nicolas VENTROUX
  • Publication number: 20210318869
    Abstract: 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: Application
    Filed: July 9, 2019
    Publication date: October 14, 2021
    Applicant: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
    Inventors: Joel CATHEBRAS, Alexandre CARBON, Renaud SIRDEY, Nicolas VENTROUX
  • Patent number: 10943041
    Abstract: 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: Grant
    Filed: October 26, 2016
    Date of Patent: March 9, 2021
    Assignee: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
    Inventors: Nicolas Ventroux, Tanguy Sassolas
  • Patent number: 10789397
    Abstract: 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: Grant
    Filed: June 22, 2016
    Date of Patent: September 29, 2020
    Assignee: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
    Inventor: Nicolas Ventroux
  • Patent number: 10416925
    Abstract: 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: Grant
    Filed: April 9, 2015
    Date of Patent: September 17, 2019
    Assignee: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
    Inventors: Julien Peeters, Nicolas Ventroux, Tanguy Sassolas, Marc Shapiro
  • Publication number: 20190057173
    Abstract: 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: Application
    Filed: October 26, 2016
    Publication date: February 21, 2019
    Applicant: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
    Inventors: Nicolas VENTROUX, Tanguy SASSOLAS
  • Publication number: 20180173825
    Abstract: 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: Application
    Filed: June 22, 2016
    Publication date: June 21, 2018
    Inventor: Nicolas VENTROUX
  • Patent number: 9612863
    Abstract: 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: Grant
    Filed: February 13, 2012
    Date of Patent: April 4, 2017
    Assignee: Commissariat A L'Energie Atomique et aux Energies Alternatives
    Inventor: Nicolas Ventroux
  • Publication number: 20170017435
    Abstract: 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: Application
    Filed: April 9, 2015
    Publication date: January 19, 2017
    Inventors: Julien PEETERS, Nicolas VENTROUX, Tanguy SASSOLAS, Marc SHAPIRO
  • Publication number: 20170004232
    Abstract: 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: Application
    Filed: February 5, 2014
    Publication date: January 5, 2017
    Inventors: Nicolas VENTROUX, Tanguy SASSOLAS
  • Publication number: 20150379172
    Abstract: 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: Application
    Filed: February 5, 2014
    Publication date: December 31, 2015
    Inventors: Nicolas VENTROUX, Tanguy SASSOLAS
  • Patent number: 9164807
    Abstract: 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: Grant
    Filed: December 11, 2008
    Date of Patent: October 20, 2015
    Assignee: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
    Inventors: Frédéric Blanc, Thierry Collette, Raphaël David, Vincent David, Michel Harrand, Stéphane Louise, Nicolas Ventroux
  • Patent number: 9086920
    Abstract: 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: Grant
    Filed: October 20, 2009
    Date of Patent: July 21, 2015
    Assignee: Commissariat A L'Energie Atomique et aux Energies Alternatives
    Inventors: Raphael David, Nicolas Ventroux
  • Patent number: 9052957
    Abstract: 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: Grant
    Filed: June 8, 2006
    Date of Patent: June 9, 2015
    Assignee: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
    Inventors: Raphaël David, David Vincent, Nicolas Ventroux, Thierry Collette
  • Publication number: 20140325516
    Abstract: 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: Application
    Filed: February 13, 2012
    Publication date: October 30, 2014
    Applicant: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES AL TERNATIVES
    Inventor: Nicolas Ventroux
  • Patent number: 8522243
    Abstract: 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: Grant
    Filed: July 28, 2005
    Date of Patent: August 27, 2013
    Assignee: Commissariat a l'Energie Atomique
    Inventors: Nicolas Ventroux, Stéphane Chevobbe, Frédéric Blanc, Thierry Collette
  • Publication number: 20130158892
    Abstract: 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: Application
    Filed: January 5, 2011
    Publication date: June 20, 2013
    Inventors: Olivier Heron, Julien Guilhemsang, Tushar Gupta, Nicolas Ventroux
  • Publication number: 20110307677
    Abstract: 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: Application
    Filed: October 20, 2009
    Publication date: December 15, 2011
    Applicant: Commissariat A L'Energie Atomique Et Aux Energies Alternatives
    Inventors: Raphael David, Nicolas Ventroux