{"id":"https://openalex.org/W2044436861","doi":"https://doi.org/10.1145/2814204.2814216","title":"Contract-based general-purpose GPU programming","display_name":"Contract-based general-purpose GPU programming","publication_year":2015,"publication_date":"2015-10-26","ids":{"openalex":"https://openalex.org/W2044436861","doi":"https://doi.org/10.1145/2814204.2814216","mag":"2044436861"},"language":"en","primary_location":{"id":"doi:10.1145/2814204.2814216","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2814204.2814216","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"},"type":"preprint","indexed_in":["arxiv","crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/1410.6685","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5021108183","display_name":"Alexey Kolesnichenko","orcid":null},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Alexey Kolesnichenko","raw_affiliation_strings":["ETH Zurich, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5053470148","display_name":"Christopher M. Poskitt","orcid":"https://orcid.org/0000-0002-9376-2471"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Christopher M. Poskitt","raw_affiliation_strings":["ETH Zurich, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5039237768","display_name":"Sebastian Nanz","orcid":null},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Sebastian Nanz","raw_affiliation_strings":["ETH Zurich, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5073925128","display_name":"Bertrand Meyer","orcid":"https://orcid.org/0000-0002-5985-7434"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]},{"id":"https://openalex.org/I4210116741","display_name":"Innopolis University","ror":"https://ror.org/02b7jh107","country_code":"RU","type":"education","lineage":["https://openalex.org/I4210116741"]},{"id":"https://openalex.org/I93860229","display_name":"Politecnico di Milano","ror":"https://ror.org/01nffqt88","country_code":"IT","type":"education","lineage":["https://openalex.org/I93860229"]}],"countries":["CH","IT","RU"],"is_corresponding":false,"raw_author_name":"Bertrand Meyer","raw_affiliation_strings":["ETH Zurich, Switzerland, and Politecnico di Milano, Italy, and Innopolis University, Kazan, Russia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland, and Politecnico di Milano, Italy, and Innopolis University, Kazan, Russia","institution_ids":["https://openalex.org/I4210116741","https://openalex.org/I93860229","https://openalex.org/I35440088"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.3177,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.80397237,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"75","last_page":"84"},"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/T10715","display_name":"Distributed and Parallel Computing Systems","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/T10101","display_name":"Cloud Computing and Resource Management","score":0.9944000244140625,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/computer-science","display_name":"Computer science","score":0.894907534122467},{"id":"https://openalex.org/keywords/executable","display_name":"Executable","score":0.7030248641967773},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6207821369171143},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.6167715191841125},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.5849233269691467},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.5753645896911621},{"id":"https://openalex.org/keywords/cuda","display_name":"CUDA","score":0.5743544101715088},{"id":"https://openalex.org/keywords/design-by-contract","display_name":"Design by contract","score":0.5585915446281433},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5549936294555664},{"id":"https://openalex.org/keywords/general-purpose-computing-on-graphics-processing-units","display_name":"General-purpose computing on graphics processing units","score":0.5308778285980225},{"id":"https://openalex.org/keywords/eiffel","display_name":"Eiffel","score":0.4938874840736389},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.46901363134384155},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.28182217478752136},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.26907509565353394},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.212833434343338},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.17994770407676697},{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.11291339993476868}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.894907534122467},{"id":"https://openalex.org/C160145156","wikidata":"https://www.wikidata.org/wiki/Q778586","display_name":"Executable","level":2,"score":0.7030248641967773},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6207821369171143},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.6167715191841125},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.5849233269691467},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.5753645896911621},{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.5743544101715088},{"id":"https://openalex.org/C80291951","wikidata":"https://www.wikidata.org/wiki/Q1200691","display_name":"Design by contract","level":5,"score":0.5585915446281433},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5549936294555664},{"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.5308778285980225},{"id":"https://openalex.org/C186362262","wikidata":"https://www.wikidata.org/wiki/Q732089","display_name":"Eiffel","level":3,"score":0.4938874840736389},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.46901363134384155},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.28182217478752136},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.26907509565353394},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.212833434343338},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.17994770407676697},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.11291339993476868},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.0}],"mesh":[],"locations_count":8,"locations":[{"id":"doi:10.1145/2814204.2814216","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2814204.2814216","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"},{"id":"pmh:oai:arXiv.org:1410.6685","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1410.6685","pdf_url":"https://arxiv.org/pdf/1410.6685","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:ink.library.smu.edu.sg:sis_research-5913","is_oa":true,"landing_page_url":"https://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=5913&amp;amp;context=sis_research","pdf_url":null,"source":{"id":"https://openalex.org/S4306401925","display_name":"Singapore Management University Institutional Knowledge (InK) (Singapore Management University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I79891267","host_organization_name":"Singapore Management University","host_organization_lineage":["https://openalex.org/I79891267"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"https://doi.org/10.1145/2814204.2814216","raw_type":"Conference Proceeding Article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.703.7650","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.703.7650","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://se.inf.ethz.ch/people/nanz/publications/kolesnichenko-et-al_gpce15.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.704.9554","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.704.9554","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://se.inf.ethz.ch/people/kolesnichenko/publications/Kolesnichenko-PNM.GPCE.2015.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.746.1044","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.746.1044","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://arxiv.org/pdf/1410.6685.pdf","raw_type":"text"},{"id":"pmh:oai:www.research-collection.ethz.ch:20.500.11850/103342","is_oa":true,"landing_page_url":"http://hdl.handle.net/20.500.11850/103342","pdf_url":null,"source":{"id":"https://openalex.org/S4306402302","display_name":"Repository for Publications and Research Data (ETH Zurich)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I35440088","host_organization_name":"ETH Zurich","host_organization_lineage":["https://openalex.org/I35440088"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"GPCE 2015 Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"Conference Paper"},{"id":"doi:10.3929/ethz-a-010498051","is_oa":true,"landing_page_url":"https://doi.org/10.3929/ethz-a-010498051","pdf_url":null,"source":{"id":"https://openalex.org/S7407051236","display_name":"ETH Z\u00fcrich Research Collection","issn_l":null,"issn":[],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:1410.6685","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1410.6685","pdf_url":"https://arxiv.org/pdf/1410.6685","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},"sustainable_development_goals":[{"display_name":"Decent work and economic growth","id":"https://metadata.un.org/sdg/8","score":0.4399999976158142}],"awards":[{"id":"https://openalex.org/G843967839","display_name":null,"funder_award_id":"291389","funder_id":"https://openalex.org/F4320334678","funder_display_name":"European Research Council"}],"funders":[{"id":"https://openalex.org/F4320334678","display_name":"European Research Council","ror":"https://ror.org/0472cxd90"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":28,"referenced_works":["https://openalex.org/W182526625","https://openalex.org/W1494271578","https://openalex.org/W1568192366","https://openalex.org/W1593874741","https://openalex.org/W1606177908","https://openalex.org/W1964884078","https://openalex.org/W1985462363","https://openalex.org/W1992019261","https://openalex.org/W2013570889","https://openalex.org/W2018696645","https://openalex.org/W2024501447","https://openalex.org/W2025883070","https://openalex.org/W2030685616","https://openalex.org/W2054056443","https://openalex.org/W2065887019","https://openalex.org/W2076960126","https://openalex.org/W2120015217","https://openalex.org/W2127435133","https://openalex.org/W2131747807","https://openalex.org/W2140375692","https://openalex.org/W2143609451","https://openalex.org/W2151788546","https://openalex.org/W2165706001","https://openalex.org/W2168272209","https://openalex.org/W2216914491","https://openalex.org/W2234512370","https://openalex.org/W4246553962","https://openalex.org/W4300937065"],"related_works":["https://openalex.org/W1870068274","https://openalex.org/W2168732959","https://openalex.org/W2120076858","https://openalex.org/W2182395536","https://openalex.org/W3192364216","https://openalex.org/W1963859303","https://openalex.org/W2364044215","https://openalex.org/W2389600408","https://openalex.org/W240129890","https://openalex.org/W3048701459"],"abstract_inverted_index":{"Using":[0],"GPUs":[1],"as":[2,139],"general-purpose":[3],"processors":[4],"has":[5],"revolutionized":[6],"parallel":[7],"computing":[8],"by":[9,66,94],"offering,":[10],"for":[11],"a":[12,51,59,74],"large":[13],"and":[14,36,64,111],"growing":[15],"set":[16],"of":[17,33,40],"algorithms,":[18],"massive":[19],"data-parallelization":[20],"on":[21,145],"desktop":[22],"machines.":[23],"An":[24],"obstacle":[25],"to":[26,44,109,117,136],"widespread":[27],"adoption,":[28],"however,":[29],"is":[30,81,115,124],"the":[31,37,41,84,100,140,146],"difficulty":[32],"programming":[34,52,77],"them":[35],"low-level":[38],"control":[39],"hardware":[42],"required":[43],"achieve":[45],"good":[46],"performance.":[47],"This":[48],"paper":[49],"suggests":[50],"library,":[53],"SafeGPU,":[54],"that":[55,105,114,123],"aims":[56],"at":[57],"striking":[58],"balance":[60],"between":[61],"programmer":[62],"productivity":[63],"performance,":[65],"making":[67],"GPU":[68],"data-parallel":[69],"operations":[70],"accessible":[71,116],"from":[72],"within":[73],"classical":[75],"object-oriented":[76],"language.":[78],"The":[79],"solution":[80],"integrated":[82],"with":[83,126],"design-by-contract":[85],"approach,":[86],"which":[87],"increases":[88],"confidence":[89],"in":[90],"functional":[91],"program":[92,97,101],"correctness":[93],"embedding":[95],"executable":[96],"specifications":[98],"into":[99],"text.":[102],"We":[103],"show":[104],"our":[106],"library":[107],"leads":[108],"modular":[110],"maintainable":[112],"code":[113],"GPGPU":[118],"non-experts,":[119],"while":[120],"providing":[121],"performance":[122],"comparable":[125],"hand-written":[127],"CUDA":[128],"code.":[129],"Furthermore,":[130],"runtime":[131],"contract":[132],"checking":[133],"turns":[134],"out":[135],"be":[137,143],"feasible,":[138],"contracts":[141],"can":[142],"executed":[144],"GPU.":[147]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
