Matches in SemOpenAlex for { <https://semopenalex.org/work/W3206659166> ?p ?o ?g. }
- W3206659166 endingPage "28" @default.
- W3206659166 startingPage "1" @default.
- W3206659166 abstract "Heterogeneous CPU/FPGA devices, in which a CPU and an FPGA can execute together while sharing memory, are becoming popular in several computing sectors. In this paper, we study the shared-memory semantics of these devices, with a view to providing a firm foundation for reasoning about the programs that run on them. Our focus is on Intel platforms that combine an Intel FPGA with a multicore Xeon CPU. We describe the weak-memory behaviours that are allowed (and observable) on these devices when CPU threads and an FPGA thread access common memory locations in a fine-grained manner through multiple channels. Some of these behaviours are familiar from well-studied CPU and GPU concurrency; others are weaker still. We encode these behaviours in two formal memory models: one operational, one axiomatic. We develop executable implementations of both models, using the CBMC bounded model-checking tool for our operational model and the Alloy modelling language for our axiomatic model. Using these, we cross-check our models against each other via a translator that converts Alloy-generated executions into queries for the CBMC model. We also validate our models against actual hardware by translating 583 Alloy-generated executions into litmus tests that we run on CPU/FPGA devices; when doing this, we avoid the prohibitive cost of synthesising a hardware design per litmus test by creating our own 'litmus-test processor' in hardware. We expect that our models will be useful for low-level programmers, compiler writers, and designers of analysis tools. Indeed, as a demonstration of the utility of our work, we use our operational model to reason about a producer/consumer buffer implemented across the CPU and the FPGA. When the buffer uses insufficient synchronisation -- a situation that our model is able to detect -- we observe that its performance improves at the cost of occasional data corruption." @default.
- W3206659166 created "2021-10-25" @default.
- W3206659166 creator A5002846450 @default.
- W3206659166 creator A5022532239 @default.
- W3206659166 creator A5052590511 @default.
- W3206659166 creator A5080781439 @default.
- W3206659166 date "2021-10-15" @default.
- W3206659166 modified "2023-09-26" @default.
- W3206659166 title "The semantics of shared memory in Intel CPU/FPGA systems" @default.
- W3206659166 cites W1525350307 @default.
- W3206659166 cites W1594228127 @default.
- W3206659166 cites W1970799414 @default.
- W3206659166 cites W1997113918 @default.
- W3206659166 cites W2054739713 @default.
- W3206659166 cites W2118621726 @default.
- W3206659166 cites W2129538349 @default.
- W3206659166 cites W2150618958 @default.
- W3206659166 cites W2153636750 @default.
- W3206659166 cites W2156678748 @default.
- W3206659166 cites W2242839033 @default.
- W3206659166 cites W2257827631 @default.
- W3206659166 cites W2260448916 @default.
- W3206659166 cites W2301631282 @default.
- W3206659166 cites W2492482597 @default.
- W3206659166 cites W2605308338 @default.
- W3206659166 cites W2616014673 @default.
- W3206659166 cites W2738891045 @default.
- W3206659166 cites W2767686507 @default.
- W3206659166 cites W2769194423 @default.
- W3206659166 cites W2777743316 @default.
- W3206659166 cites W2788007484 @default.
- W3206659166 cites W2909507673 @default.
- W3206659166 cites W2912012512 @default.
- W3206659166 cites W2917675277 @default.
- W3206659166 cites W2920648274 @default.
- W3206659166 cites W2935389012 @default.
- W3206659166 cites W2947631473 @default.
- W3206659166 cites W2951591319 @default.
- W3206659166 cites W2971573826 @default.
- W3206659166 cites W3034553463 @default.
- W3206659166 cites W3107477519 @default.
- W3206659166 cites W4234406920 @default.
- W3206659166 cites W4240313904 @default.
- W3206659166 cites W4240322740 @default.
- W3206659166 cites W4249127270 @default.
- W3206659166 doi "https://doi.org/10.1145/3485497" @default.
- W3206659166 hasPublicationYear "2021" @default.
- W3206659166 type Work @default.
- W3206659166 sameAs 3206659166 @default.
- W3206659166 citedByCount "3" @default.
- W3206659166 countsByYear W32066591662022 @default.
- W3206659166 countsByYear W32066591662023 @default.
- W3206659166 crossrefType "journal-article" @default.
- W3206659166 hasAuthorship W3206659166A5002846450 @default.
- W3206659166 hasAuthorship W3206659166A5022532239 @default.
- W3206659166 hasAuthorship W3206659166A5052590511 @default.
- W3206659166 hasAuthorship W3206659166A5080781439 @default.
- W3206659166 hasBestOaLocation W32066591661 @default.
- W3206659166 hasConcept C111919701 @default.
- W3206659166 hasConcept C12186640 @default.
- W3206659166 hasConcept C133875982 @default.
- W3206659166 hasConcept C147789679 @default.
- W3206659166 hasConcept C149635348 @default.
- W3206659166 hasConcept C157329479 @default.
- W3206659166 hasConcept C169590947 @default.
- W3206659166 hasConcept C173608175 @default.
- W3206659166 hasConcept C185592680 @default.
- W3206659166 hasConcept C41008148 @default.
- W3206659166 hasConcept C42935608 @default.
- W3206659166 hasConcept C49154492 @default.
- W3206659166 hasConceptScore W3206659166C111919701 @default.
- W3206659166 hasConceptScore W3206659166C12186640 @default.
- W3206659166 hasConceptScore W3206659166C133875982 @default.
- W3206659166 hasConceptScore W3206659166C147789679 @default.
- W3206659166 hasConceptScore W3206659166C149635348 @default.
- W3206659166 hasConceptScore W3206659166C157329479 @default.
- W3206659166 hasConceptScore W3206659166C169590947 @default.
- W3206659166 hasConceptScore W3206659166C173608175 @default.
- W3206659166 hasConceptScore W3206659166C185592680 @default.
- W3206659166 hasConceptScore W3206659166C41008148 @default.
- W3206659166 hasConceptScore W3206659166C42935608 @default.
- W3206659166 hasConceptScore W3206659166C49154492 @default.
- W3206659166 hasFunder F4320334627 @default.
- W3206659166 hasIssue "OOPSLA" @default.
- W3206659166 hasLocation W32066591661 @default.
- W3206659166 hasLocation W32066591662 @default.
- W3206659166 hasOpenAccess W3206659166 @default.
- W3206659166 hasPrimaryLocation W32066591661 @default.
- W3206659166 hasRelatedWork W1499552465 @default.
- W3206659166 hasRelatedWork W1522390154 @default.
- W3206659166 hasRelatedWork W1524612472 @default.
- W3206659166 hasRelatedWork W1558545464 @default.
- W3206659166 hasRelatedWork W2156742168 @default.
- W3206659166 hasRelatedWork W2348711589 @default.
- W3206659166 hasRelatedWork W2372170743 @default.
- W3206659166 hasRelatedWork W3147844147 @default.
- W3206659166 hasRelatedWork W2467946583 @default.
- W3206659166 hasRelatedWork W2521642917 @default.