SYSTEMS, METHODS, AND COMPUTER PROGRAMS FOR PERFORMING RUNTIME AUTO-PARALLELIZATION OF APPLICATION CODE

Systems, methods, and computer programs are disclosed for performing runtime auto-parallelization of application code. One embodiment of such a method comprises receiving application code to be executed in a multi-processor system. The application code comprises an injected code cost computation exp...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: MARGIOLAS, CHRISTOS, SHARP, MICHAEL DOUGLAS, KIM, JASON, DREYER, ROBERT SCOTT
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator MARGIOLAS, CHRISTOS
SHARP, MICHAEL DOUGLAS
KIM, JASON
DREYER, ROBERT SCOTT
description Systems, methods, and computer programs are disclosed for performing runtime auto-parallelization of application code. One embodiment of such a method comprises receiving application code to be executed in a multi-processor system. The application code comprises an injected code cost computation expression for at least one loop in the application code defining a serial workload for processing the loop. A runtime profitability check of the loop is performed based on the injected code cost computation expression to determine whether the serial workload can be profitably parallelized. If the serial workload can be profitably parallelized, the loop is executed in parallel using two or more processors in the multi-processor system. L'invention concerne des systèmes, des procédés et des programmes d'ordinateur pour exécuter une parallélisation automatique d'exécution d'un code d'application. Un mode de réalisation d'un tel procédé comprend la réception d'un code d'application à exécuter dans un système multi-processeurs. Le code d'application comprend une expression de calcul de coût de code injectée pour au moins une boucle dans le code d'application définissant une charge de travail en série pour traiter la boucle. Une vérification de rentabilité d'exécution de la boucle est exécutée sur la base de l'expression de calcul de coût de code injectée pour déterminer si la charge de travail en série peut être parallélisée ou non de manière rentable. Si la charge de travail en série peut être parallélisée de manière rentable, la boucle est exécutée en parallèle à l'aide d'au moins deux processeurs dans le système multi-processeurs.
format Patent
fullrecord <record><control><sourceid>epo_EVB</sourceid><recordid>TN_cdi_epo_espacenet_WO2016081247A1</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>WO2016081247A1</sourcerecordid><originalsourceid>FETCH-epo_espacenet_WO2016081247A13</originalsourceid><addsrcrecordid>eNqNikEKwjAQAHvxIOofFrxaaKuo1yXdtoEkG5IU0UspEr2IFur_saAP8DQzMPPk7s8-kPYb0BQaLidBU4JgbdtADqzj2qH2UPEU5CZoaWpwrQlSE2AbOLXoUClS8oJBsgGuAK1VUnxTcEnLZHbrH2Nc_bhI1hUF0aRxeHVxHPprfMZ3d-Iiy_fZMS92B8y3_10f_IA2pg</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>patent</recordtype></control><display><type>patent</type><title>SYSTEMS, METHODS, AND COMPUTER PROGRAMS FOR PERFORMING RUNTIME AUTO-PARALLELIZATION OF APPLICATION CODE</title><source>esp@cenet</source><creator>MARGIOLAS, CHRISTOS ; SHARP, MICHAEL DOUGLAS ; KIM, JASON ; DREYER, ROBERT SCOTT</creator><creatorcontrib>MARGIOLAS, CHRISTOS ; SHARP, MICHAEL DOUGLAS ; KIM, JASON ; DREYER, ROBERT SCOTT</creatorcontrib><description>Systems, methods, and computer programs are disclosed for performing runtime auto-parallelization of application code. One embodiment of such a method comprises receiving application code to be executed in a multi-processor system. The application code comprises an injected code cost computation expression for at least one loop in the application code defining a serial workload for processing the loop. A runtime profitability check of the loop is performed based on the injected code cost computation expression to determine whether the serial workload can be profitably parallelized. If the serial workload can be profitably parallelized, the loop is executed in parallel using two or more processors in the multi-processor system. L'invention concerne des systèmes, des procédés et des programmes d'ordinateur pour exécuter une parallélisation automatique d'exécution d'un code d'application. Un mode de réalisation d'un tel procédé comprend la réception d'un code d'application à exécuter dans un système multi-processeurs. Le code d'application comprend une expression de calcul de coût de code injectée pour au moins une boucle dans le code d'application définissant une charge de travail en série pour traiter la boucle. Une vérification de rentabilité d'exécution de la boucle est exécutée sur la base de l'expression de calcul de coût de code injectée pour déterminer si la charge de travail en série peut être parallélisée ou non de manière rentable. Si la charge de travail en série peut être parallélisée de manière rentable, la boucle est exécutée en parallèle à l'aide d'au moins deux processeurs dans le système multi-processeurs.</description><language>eng ; fre</language><subject>CALCULATING ; COMPUTING ; COUNTING ; ELECTRIC DIGITAL DATA PROCESSING ; PHYSICS</subject><creationdate>2016</creationdate><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20160526&amp;DB=EPODOC&amp;CC=WO&amp;NR=2016081247A1$$EHTML$$P50$$Gepo$$Hfree_for_read</linktohtml><link.rule.ids>230,308,776,881,25542,76289</link.rule.ids><linktorsrc>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20160526&amp;DB=EPODOC&amp;CC=WO&amp;NR=2016081247A1$$EView_record_in_European_Patent_Office$$FView_record_in_$$GEuropean_Patent_Office$$Hfree_for_read</linktorsrc></links><search><creatorcontrib>MARGIOLAS, CHRISTOS</creatorcontrib><creatorcontrib>SHARP, MICHAEL DOUGLAS</creatorcontrib><creatorcontrib>KIM, JASON</creatorcontrib><creatorcontrib>DREYER, ROBERT SCOTT</creatorcontrib><title>SYSTEMS, METHODS, AND COMPUTER PROGRAMS FOR PERFORMING RUNTIME AUTO-PARALLELIZATION OF APPLICATION CODE</title><description>Systems, methods, and computer programs are disclosed for performing runtime auto-parallelization of application code. One embodiment of such a method comprises receiving application code to be executed in a multi-processor system. The application code comprises an injected code cost computation expression for at least one loop in the application code defining a serial workload for processing the loop. A runtime profitability check of the loop is performed based on the injected code cost computation expression to determine whether the serial workload can be profitably parallelized. If the serial workload can be profitably parallelized, the loop is executed in parallel using two or more processors in the multi-processor system. L'invention concerne des systèmes, des procédés et des programmes d'ordinateur pour exécuter une parallélisation automatique d'exécution d'un code d'application. Un mode de réalisation d'un tel procédé comprend la réception d'un code d'application à exécuter dans un système multi-processeurs. Le code d'application comprend une expression de calcul de coût de code injectée pour au moins une boucle dans le code d'application définissant une charge de travail en série pour traiter la boucle. Une vérification de rentabilité d'exécution de la boucle est exécutée sur la base de l'expression de calcul de coût de code injectée pour déterminer si la charge de travail en série peut être parallélisée ou non de manière rentable. Si la charge de travail en série peut être parallélisée de manière rentable, la boucle est exécutée en parallèle à l'aide d'au moins deux processeurs dans le système multi-processeurs.</description><subject>CALCULATING</subject><subject>COMPUTING</subject><subject>COUNTING</subject><subject>ELECTRIC DIGITAL DATA PROCESSING</subject><subject>PHYSICS</subject><fulltext>true</fulltext><rsrctype>patent</rsrctype><creationdate>2016</creationdate><recordtype>patent</recordtype><sourceid>EVB</sourceid><recordid>eNqNikEKwjAQAHvxIOofFrxaaKuo1yXdtoEkG5IU0UspEr2IFur_saAP8DQzMPPk7s8-kPYb0BQaLidBU4JgbdtADqzj2qH2UPEU5CZoaWpwrQlSE2AbOLXoUClS8oJBsgGuAK1VUnxTcEnLZHbrH2Nc_bhI1hUF0aRxeHVxHPprfMZ3d-Iiy_fZMS92B8y3_10f_IA2pg</recordid><startdate>20160526</startdate><enddate>20160526</enddate><creator>MARGIOLAS, CHRISTOS</creator><creator>SHARP, MICHAEL DOUGLAS</creator><creator>KIM, JASON</creator><creator>DREYER, ROBERT SCOTT</creator><scope>EVB</scope></search><sort><creationdate>20160526</creationdate><title>SYSTEMS, METHODS, AND COMPUTER PROGRAMS FOR PERFORMING RUNTIME AUTO-PARALLELIZATION OF APPLICATION CODE</title><author>MARGIOLAS, CHRISTOS ; SHARP, MICHAEL DOUGLAS ; KIM, JASON ; DREYER, ROBERT SCOTT</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-epo_espacenet_WO2016081247A13</frbrgroupid><rsrctype>patents</rsrctype><prefilter>patents</prefilter><language>eng ; fre</language><creationdate>2016</creationdate><topic>CALCULATING</topic><topic>COMPUTING</topic><topic>COUNTING</topic><topic>ELECTRIC DIGITAL DATA PROCESSING</topic><topic>PHYSICS</topic><toplevel>online_resources</toplevel><creatorcontrib>MARGIOLAS, CHRISTOS</creatorcontrib><creatorcontrib>SHARP, MICHAEL DOUGLAS</creatorcontrib><creatorcontrib>KIM, JASON</creatorcontrib><creatorcontrib>DREYER, ROBERT SCOTT</creatorcontrib><collection>esp@cenet</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>MARGIOLAS, CHRISTOS</au><au>SHARP, MICHAEL DOUGLAS</au><au>KIM, JASON</au><au>DREYER, ROBERT SCOTT</au><format>patent</format><genre>patent</genre><ristype>GEN</ristype><title>SYSTEMS, METHODS, AND COMPUTER PROGRAMS FOR PERFORMING RUNTIME AUTO-PARALLELIZATION OF APPLICATION CODE</title><date>2016-05-26</date><risdate>2016</risdate><abstract>Systems, methods, and computer programs are disclosed for performing runtime auto-parallelization of application code. One embodiment of such a method comprises receiving application code to be executed in a multi-processor system. The application code comprises an injected code cost computation expression for at least one loop in the application code defining a serial workload for processing the loop. A runtime profitability check of the loop is performed based on the injected code cost computation expression to determine whether the serial workload can be profitably parallelized. If the serial workload can be profitably parallelized, the loop is executed in parallel using two or more processors in the multi-processor system. L'invention concerne des systèmes, des procédés et des programmes d'ordinateur pour exécuter une parallélisation automatique d'exécution d'un code d'application. Un mode de réalisation d'un tel procédé comprend la réception d'un code d'application à exécuter dans un système multi-processeurs. Le code d'application comprend une expression de calcul de coût de code injectée pour au moins une boucle dans le code d'application définissant une charge de travail en série pour traiter la boucle. Une vérification de rentabilité d'exécution de la boucle est exécutée sur la base de l'expression de calcul de coût de code injectée pour déterminer si la charge de travail en série peut être parallélisée ou non de manière rentable. Si la charge de travail en série peut être parallélisée de manière rentable, la boucle est exécutée en parallèle à l'aide d'au moins deux processeurs dans le système multi-processeurs.</abstract><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier
ispartof
issn
language eng ; fre
recordid cdi_epo_espacenet_WO2016081247A1
source esp@cenet
subjects CALCULATING
COMPUTING
COUNTING
ELECTRIC DIGITAL DATA PROCESSING
PHYSICS
title SYSTEMS, METHODS, AND COMPUTER PROGRAMS FOR PERFORMING RUNTIME AUTO-PARALLELIZATION OF APPLICATION CODE
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-04T15%3A34%3A25IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-epo_EVB&rft_val_fmt=info:ofi/fmt:kev:mtx:patent&rft.genre=patent&rft.au=MARGIOLAS,%20CHRISTOS&rft.date=2016-05-26&rft_id=info:doi/&rft_dat=%3Cepo_EVB%3EWO2016081247A1%3C/epo_EVB%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true