{"id":"https://openalex.org/W2917361956","doi":"https://doi.org/10.1109/padsw.2018.8644541","title":"OCAL: An Abstraction for Host-Code Programming with OpenCL and CUDA","display_name":"OCAL: An Abstraction for Host-Code Programming with OpenCL and CUDA","publication_year":2018,"publication_date":"2018-12-01","ids":{"openalex":"https://openalex.org/W2917361956","doi":"https://doi.org/10.1109/padsw.2018.8644541","mag":"2917361956"},"language":"en","primary_location":{"id":"doi:10.1109/padsw.2018.8644541","is_oa":false,"landing_page_url":"https://doi.org/10.1109/padsw.2018.8644541","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS)","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5017852288","display_name":"Ari Rasch","orcid":"https://orcid.org/0000-0002-0286-0755"},"institutions":[{"id":"https://openalex.org/I22465464","display_name":"University of M\u00fcnster","ror":"https://ror.org/00pd74e08","country_code":"DE","type":"education","lineage":["https://openalex.org/I22465464"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Ari Rasch","raw_affiliation_strings":["University of Munster, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Munster, Germany","institution_ids":["https://openalex.org/I22465464"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5009230965","display_name":"Martin Wrodarczyk","orcid":null},"institutions":[{"id":"https://openalex.org/I22465464","display_name":"University of M\u00fcnster","ror":"https://ror.org/00pd74e08","country_code":"DE","type":"education","lineage":["https://openalex.org/I22465464"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Martin Wrodarczyk","raw_affiliation_strings":["University of Munster, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Munster, Germany","institution_ids":["https://openalex.org/I22465464"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5087539290","display_name":"Richard Schulze","orcid":"https://orcid.org/0000-0001-7592-6850"},"institutions":[{"id":"https://openalex.org/I22465464","display_name":"University of M\u00fcnster","ror":"https://ror.org/00pd74e08","country_code":"DE","type":"education","lineage":["https://openalex.org/I22465464"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Richard Schulze","raw_affiliation_strings":["University of Munster, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Munster, Germany","institution_ids":["https://openalex.org/I22465464"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5061421539","display_name":"Sergei Gorlatch","orcid":"https://orcid.org/0000-0003-3857-9380"},"institutions":[{"id":"https://openalex.org/I22465464","display_name":"University of M\u00fcnster","ror":"https://ror.org/00pd74e08","country_code":"DE","type":"education","lineage":["https://openalex.org/I22465464"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Sergei Gorlatch","raw_affiliation_strings":["University of Munster, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Munster, Germany","institution_ids":["https://openalex.org/I22465464"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I22465464"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"408","last_page":"416"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11181","display_name":"Advanced Data Storage Technologies","score":0.9987999796867371,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10829","display_name":"Interconnection Networks and Systems","score":0.9872000217437744,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/cuda","display_name":"CUDA","score":0.9026365280151367},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8835952877998352},{"id":"https://openalex.org/keywords/host","display_name":"Host (biology)","score":0.7059513330459595},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6640394926071167},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.5012879371643066},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.49930620193481445},{"id":"https://openalex.org/keywords/coprocessor","display_name":"Coprocessor","score":0.419993132352829},{"id":"https://openalex.org/keywords/general-purpose-computing-on-graphics-processing-units","display_name":"General-purpose computing on graphics processing units","score":0.41417187452316284},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.31576648354530334},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.30678194761276245},{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.2945937514305115},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.09123903512954712}],"concepts":[{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.9026365280151367},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8835952877998352},{"id":"https://openalex.org/C126831891","wikidata":"https://www.wikidata.org/wiki/Q221673","display_name":"Host (biology)","level":2,"score":0.7059513330459595},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6640394926071167},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.5012879371643066},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.49930620193481445},{"id":"https://openalex.org/C86111242","wikidata":"https://www.wikidata.org/wiki/Q859595","display_name":"Coprocessor","level":2,"score":0.419993132352829},{"id":"https://openalex.org/C50630238","wikidata":"https://www.wikidata.org/wiki/Q971505","display_name":"General-purpose computing on graphics processing units","level":3,"score":0.41417187452316284},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.31576648354530334},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.30678194761276245},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.2945937514305115},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.09123903512954712},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/padsw.2018.8644541","is_oa":false,"landing_page_url":"https://doi.org/10.1109/padsw.2018.8644541","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":42,"referenced_works":["https://openalex.org/W1483717008","https://openalex.org/W1505648523","https://openalex.org/W1678662003","https://openalex.org/W1964962870","https://openalex.org/W1985462363","https://openalex.org/W1988888548","https://openalex.org/W1991920123","https://openalex.org/W2024880014","https://openalex.org/W2041064704","https://openalex.org/W2061884904","https://openalex.org/W2073458162","https://openalex.org/W2076812085","https://openalex.org/W2107096626","https://openalex.org/W2107911628","https://openalex.org/W2120723967","https://openalex.org/W2121893797","https://openalex.org/W2126026097","https://openalex.org/W2142677441","https://openalex.org/W2151788546","https://openalex.org/W2155893237","https://openalex.org/W2183878227","https://openalex.org/W2211967836","https://openalex.org/W2285827435","https://openalex.org/W2321601136","https://openalex.org/W2346052963","https://openalex.org/W2402753811","https://openalex.org/W2507299602","https://openalex.org/W2572546943","https://openalex.org/W2612954225","https://openalex.org/W2615663338","https://openalex.org/W2775542958","https://openalex.org/W3091905774","https://openalex.org/W3102753670","https://openalex.org/W4255540064","https://openalex.org/W4379033372","https://openalex.org/W6637469392","https://openalex.org/W6677876435","https://openalex.org/W6695611165","https://openalex.org/W6719436248","https://openalex.org/W6731603714","https://openalex.org/W6783596713","https://openalex.org/W6891716268"],"related_works":["https://openalex.org/W1963859303","https://openalex.org/W2364044215","https://openalex.org/W3145240193","https://openalex.org/W2389600408","https://openalex.org/W240129890","https://openalex.org/W3048701459","https://openalex.org/W2149078538","https://openalex.org/W2080146221","https://openalex.org/W2147073383","https://openalex.org/W2370314112"],"abstract_inverted_index":{"The":[0],"state-of-the-art":[1,113],"parallel":[2],"programming":[3,204],"approaches":[4],"OpenCL":[5,26,121,141,179,190],"and":[6,27,38,53,66,80,122,142,180,191,195,202],"CUDA":[7,28,123,143,181,192,203],"require":[8],"so-called":[9],"host":[10,16,104,124,132,182,214],"code":[11,17,125,133,183,215],"for":[12,47,76,157,221],"pro-gram's":[13],"execution.":[14],"Implementing":[15],"is":[18,45],"often":[19],"a":[20,96,128,217],"cumbersome":[21],"task,":[22],"especially":[23],"when":[24],"executing":[25,139],"programs":[29],"on":[30],"systems":[31],"with":[32,58,84,216],"multiple":[33],"devices,":[34],"e.g.,":[35,70,156],"multi-core":[36],"CPU":[37],"Graphics":[39],"Processing":[40],"Units":[41],"(GPUs):":[42],"the":[43,82,101,112,187,200],"programmer":[44],"responsible":[46],"explicitly":[48],"managing":[49,186],"system's":[50],"main":[51,62,74,161],"memory":[52,75,154,166],"devices'":[54,64],"memories,":[55,65],"synchronizing":[56],"computations":[57],"data":[59,68,78,172,193],"transfers":[60,79,83],"between":[61,178,189,199],"and/or":[63],"optimizing":[67],"transfers,":[69],"by":[71,126,151,168,184,196],"using":[72,159],"pinned":[73,160],"accelerating":[77],"overlapping":[81],"comnutations.":[85],"In":[86],"this":[87],"paper,":[88],"we":[89],"present":[90],"OCAL":[91,106,210],"(DpenCL/CUDA":[92],"Abstraction":[93],"Layer)":[94],"-":[95],"high-level":[97,114,131],"approach":[98],"to":[99],"simplify":[100],"development":[102],"of":[103],"code.":[105],"combines":[107],"five":[108],"major":[109],"advantages":[110],"over":[111],"approaches:":[115],"1)":[116],"it":[117,137,146,164,175],"simplifies":[118,147,212],"implementing":[119,148,213],"both":[120],"providing":[127,152],"simple-to-use,":[129],"uniform":[130],"abstraction":[134],"API;":[135],"2)":[136],"supports":[138],"arbitrary":[140],"programs;":[144],"3)":[145],"data-transfer":[149],"optimizations":[150],"specially-optimized":[153],"buffers,":[155],"conveniently":[158],"memory;":[162],"4)":[163],"optimizes":[165],"management":[167],"automatically":[169,185,197],"avoiding":[170],"unnecessary":[171],"transfers;":[173],"5)":[174],"enables":[176],"interoperability":[177],"communication":[188],"structures":[194],"translating":[198],"OpenCL.":[201],"constructs.":[205],"Our":[206],"experiments":[207],"demonstrate":[208],"that":[209],"significantly":[211],"low":[218],"runtime":[219],"overhead":[220],"abstraction.":[222]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":1}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
