<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-06-08T02:38:42Z</responseDate><request verb="GetRecord" identifier="oai:uvadoc.uva.es:10324/70517" metadataPrefix="etdms">https://uvadoc.uva.es/oai/request</request><GetRecord><record><header><identifier>oai:uvadoc.uva.es:10324/70517</identifier><datestamp>2025-02-20T10:20:47Z</datestamp><setSpec>com_10324_1165</setSpec><setSpec>com_10324_931</setSpec><setSpec>com_10324_894</setSpec><setSpec>col_10324_1337</setSpec></header><metadata><thesis xmlns="http://www.ndltd.org/standards/metadata/etdms/1.0/" xmlns:doc="http://www.lyncode.com/xoai" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ndltd.org/standards/metadata/etdms/1.0/ http://www.ndltd.org/standards/metadata/etdms/1.0/etdms.xsd">
<title>A New GCC Plugin-Based Compiler Pass to Add Support for Thread-Level Speculation into OpenMP</title>
<creator>Aldea López, Sergio</creator>
<creator>Estébanez, Álvaro</creator>
<creator>Llanos Ferraris, Diego Rafael</creator>
<creator>González Escribano, Arturo</creator>
<subject>Informática</subject>
<description>Producción Científica</description>
<description>In this paper we propose a compile-time system that adds support for Thread-Level Speculation (TLS) into OpenMP. Our solution augments the original user code with calls to a TLS library that handles the speculative parallel execution of a given loop, with the help of a new OpenMP speculative clause for variable usage classification. To support it, we have developed a plugin-based compiler pass for GCC that augments the code of the loop. With this approach, we only need one additional code line to speculatively parallelize the code, compared with the tens or hundreds of changes needed (depending on the number of accesses to speculative variables) to manually apply the required transformations. Moreover, the plugin leads to a faster performance than the manual parallelization.</description>
<date>2024-10-08</date>
<date>2024-10-08</date>
<date>2014</date>
<type>info:eu-repo/semantics/conferenceObject</type>
<identifier>European Conference on Parallel Processing, Euro-Par 2014, 25-29 August, Porto, Portugal.</identifier>
<identifier>978-3-319-09873-9</identifier>
<identifier>https://uvadoc.uva.es/handle/10324/70517</identifier>
<identifier>10.1007/978-3-319-09873-9_20</identifier>
<language>eng</language>
<relation>https://link.springer.com/chapter/10.1007/978-3-319-09873-9_20</relation>
<rights>info:eu-repo/semantics/openAccess</rights>
<publisher>Springer</publisher>
</thesis></metadata></record></GetRecord></OAI-PMH>