FR3121249B1 - Procédé d’implémentation d’un module logiciel défini par un graphe orienté non cyclique non imbriqué en environnement multi-cœur - Google Patents

Procédé d’implémentation d’un module logiciel défini par un graphe orienté non cyclique non imbriqué en environnement multi-cœur Download PDF

Info

Publication number
FR3121249B1
FR3121249B1 FR2103153A FR2103153A FR3121249B1 FR 3121249 B1 FR3121249 B1 FR 3121249B1 FR 2103153 A FR2103153 A FR 2103153A FR 2103153 A FR2103153 A FR 2103153A FR 3121249 B1 FR3121249 B1 FR 3121249B1
Authority
FR
France
Prior art keywords
implementing
software module
nested
module defined
directed graph
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.)
Active
Application number
FR2103153A
Other languages
English (en)
Other versions
FR3121249A1 (fr
Inventor
Nicolas Romea
Julien Durand
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vitesco Technologies
Original Assignee
Vitesco Technologies
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vitesco Technologies filed Critical Vitesco Technologies
Priority to FR2103153A priority Critical patent/FR3121249B1/fr
Priority to CN202280025557.3A priority patent/CN117099080A/zh
Priority to US18/276,947 priority patent/US20240118879A1/en
Priority to PCT/EP2022/057593 priority patent/WO2022207424A1/fr
Publication of FR3121249A1 publication Critical patent/FR3121249A1/fr
Application granted granted Critical
Publication of FR3121249B1 publication Critical patent/FR3121249B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/451Code distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/456Parallelism detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/458Synchronisation, e.g. post-wait, barriers, locks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

Procédé élémentaire d’implémentation d’un module logiciel défini par un graphe élémentaire (Ge) orienté non cyclique, comprenant les étapes suivantes : copie du code de la séquence initiale (Si), ajout, en fin de la séquence initiale (Si), d’une fonction Fourche (F), copie du code d’une séquence parallèle (S1p, S2p), ajout en fin de ladite séquence parallèle (S1p, S2p) d’une fonction Jonction Drapeau (Jf), copie du code de l’autre séquence parallèle (S2p, S1p), ajout en fin de l’autre séquence parallèle (S2p, S1p) d’une fonction Jonction Attente (Jw). Figure d’abrégé : Figure 4
FR2103153A 2021-03-29 2021-03-29 Procédé d’implémentation d’un module logiciel défini par un graphe orienté non cyclique non imbriqué en environnement multi-cœur Active FR3121249B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR2103153A FR3121249B1 (fr) 2021-03-29 2021-03-29 Procédé d’implémentation d’un module logiciel défini par un graphe orienté non cyclique non imbriqué en environnement multi-cœur
CN202280025557.3A CN117099080A (zh) 2021-03-29 2022-03-23 在多核环境中实现由不交错的有向无环图定义的软件模块的方法
US18/276,947 US20240118879A1 (en) 2021-03-29 2022-03-23 Method for implementing a software module defined by a non-interleaved directed acyclic graph in a multicore environment
PCT/EP2022/057593 WO2022207424A1 (fr) 2021-03-29 2022-03-23 Procede d'implementation d'un module logiciel defini par un graphe oriente non cyclique non imbrique en environnement multi-cœur

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2103153 2021-03-29
FR2103153A FR3121249B1 (fr) 2021-03-29 2021-03-29 Procédé d’implémentation d’un module logiciel défini par un graphe orienté non cyclique non imbriqué en environnement multi-cœur

Publications (2)

Publication Number Publication Date
FR3121249A1 FR3121249A1 (fr) 2022-09-30
FR3121249B1 true FR3121249B1 (fr) 2024-03-08

Family

ID=75539668

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2103153A Active FR3121249B1 (fr) 2021-03-29 2021-03-29 Procédé d’implémentation d’un module logiciel défini par un graphe orienté non cyclique non imbriqué en environnement multi-cœur

Country Status (4)

Country Link
US (1) US20240118879A1 (fr)
CN (1) CN117099080A (fr)
FR (1) FR3121249B1 (fr)
WO (1) WO2022207424A1 (fr)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495636B2 (en) * 2007-12-19 2013-07-23 International Business Machines Corporation Parallelizing single threaded programs by performing look ahead operation on the single threaded program to identify plurality of instruction threads prior to execution
US9747108B2 (en) * 2015-03-27 2017-08-29 Intel Corporation User-level fork and join processors, methods, systems, and instructions

Also Published As

Publication number Publication date
CN117099080A (zh) 2023-11-21
US20240118879A1 (en) 2024-04-11
WO2022207424A1 (fr) 2022-10-06
FR3121249A1 (fr) 2022-09-30

Similar Documents

Publication Publication Date Title
US7793278B2 (en) Systems and methods for affine-partitioning programs onto multiple processing units
BR112018070417A2 (pt) geração de vistas intermediárias com o uso de fluxo óptico
FR3121249B1 (fr) Procédé d’implémentation d’un module logiciel défini par un graphe orienté non cyclique non imbriqué en environnement multi-cœur
BR112018074025A2 (pt) otimizador de consulta para utilização de cpu e reformador de código
Xie FormatR: Format r code automatically
Breß et al. Towards optimization of hybrid CPU/GPU query plans in database systems
TWI443399B (zh) 投影裝置及鏡頭模組
TWI724505B (zh) 提升cpu並行性能的方法及裝置和電子設備
Bonetta GraalVM: metaprogramming inside a polyglot system (invited talk)
Schmidt et al. Tight coupling of r and distributed linear algebra for high-level programming with big data
IN2014CH02634A (fr)
Magomedov et al. A tool for automatic parallelization of affine programs for systems with shared and distributed memory
TW201619851A (zh) 適應性調整資料庫結構之方法與調整裝置
Heid et al. μStreams: a tool for automated streaming pipeline generation on soft-core processors
Torres et al. A novel set of directives for multi-device programming with openmp
Kiran et al. Taming compiler to work with multicore processors
Santhanam et al. ALTO: An Efficient Network Orchestrator for Compound AI Systems
BR112022000105A2 (pt) Aceleração de hardware para processamento de função
Eifler et al. Exact constraint design and its potential for robust embodiment
JP2017211842A (ja) 情報処理装置、コンパイル管理方法、およびコンパイルプログラム
Collange et al. A reproducible accurate summation algorithm for High-Performance Computing
Mehta et al. Variable liberalization
Nikolić Parallelisation of equation-based simulation programs on heterogeneous computing systems
JP2018163381A (ja) コード生成装置、コード生成方法及びコード生成プログラム
FR3003344B1 (fr) Appareil thermique

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220930

CA Change of address

Effective date: 20221212

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4