{"id":"https://openalex.org/W7097537520","doi":null,"title":"Auto-tuning SkePU: a multi-backend skeleton programming framework for multi-gpu systems","display_name":"Auto-tuning SkePU: a multi-backend skeleton programming framework for multi-gpu systems","publication_year":null,"publication_date":null,"ids":{"openalex":"https://openalex.org/W7097537520"},"language":"en","primary_location":{"id":"pmh:oai:CiteSeerX.psu:10.1.1.298.1239","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.298.1239","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.ida.liu.se/~chrke/skepu/SkePU-HLPP-2010.pdf","raw_type":"text"},"parent_works":[],"lineage":["https://openalex.org/W7097537520"],"child_works_count":0,"type":"article","is_traditional":true,"indexed_in":[],"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/A5046673994","display_name":"Johan Enmyren","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Johan Enmyren","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":null,"display_name":"Christoph W. Kessler","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Christoph W. Kessler","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":true,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9994999766349792,"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.9994999766349792,"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/T10481","display_name":"Computer Graphics and Visualization Techniques","score":0.00019999999494757503,"subfield":{"id":"https://openalex.org/subfields/1704","display_name":"Computer Graphics and Computer-Aided Design"},"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":9.999999747378752e-05,"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/gpu-programming","display_name":"GPU programming","score":0.722000002861023},{"id":"https://openalex.org/keywords/multi-gpu-systems","display_name":"multi-GPU systems","score":0.8410000205039978},{"id":"https://openalex.org/keywords/cuda","display_name":"CUDA","score":0.6579999923706055},{"id":"https://openalex.org/keywords/opencl","display_name":"OpenCL","score":1.0},{"id":"https://openalex.org/keywords/data-parallel-computing","display_name":"data-parallel computing","score":0.8420000076293945},{"id":"https://openalex.org/keywords/c-template-library","display_name":"C++ template library","score":0.8159999847412109}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.868399977684021},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.714900016784668},{"id":"https://openalex.org/C2779151265","wikidata":"https://www.wikidata.org/wiki/Q1156791","display_name":"Copying","level":2,"score":0.53329998254776},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.4912000000476837},{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.44119998812675476},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.41760000586509705},{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.40310001373291016},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.39329999685287476},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.38760000467300415},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.36329999566078186},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.3610000014305115},{"id":"https://openalex.org/C2781018962","wikidata":"https://www.wikidata.org/wiki/Q5164884","display_name":"Container (type theory)","level":2,"score":0.34040001034736633},{"id":"https://openalex.org/C2778100165","wikidata":"https://www.wikidata.org/wiki/Q1589327","display_name":"Memory hierarchy","level":3,"score":0.3379000127315521},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.3353999853134155},{"id":"https://openalex.org/C126831891","wikidata":"https://www.wikidata.org/wiki/Q221673","display_name":"Host (biology)","level":2,"score":0.33320000767707825},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.31619998812675476},{"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.29820001125335693},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.29179999232292175},{"id":"https://openalex.org/C2780870223","wikidata":"https://www.wikidata.org/wiki/Q1004415","display_name":"Runtime system","level":2,"score":0.29120001196861267},{"id":"https://openalex.org/C76399640","wikidata":"https://www.wikidata.org/wiki/Q189401","display_name":"Virtual memory","level":4,"score":0.2888000011444092},{"id":"https://openalex.org/C82687282","wikidata":"https://www.wikidata.org/wiki/Q66221","display_name":"Auxiliary memory","level":2,"score":0.28529998660087585},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.2791000008583069},{"id":"https://openalex.org/C49154492","wikidata":"https://www.wikidata.org/wiki/Q5300","display_name":"Central processing unit","level":2,"score":0.2768000066280365},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2671000063419342},{"id":"https://openalex.org/C79470037","wikidata":"https://www.wikidata.org/wiki/Q279748","display_name":"Out-of-core algorithm","level":2,"score":0.25850000977516174},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.25099998712539673},{"id":"https://openalex.org/C83283714","wikidata":"https://www.wikidata.org/wiki/Q121117","display_name":"Supercomputer","level":2,"score":0.25040000677108765}],"mesh":[],"locations_count":1,"locations":[{"id":"pmh:oai:CiteSeerX.psu:10.1.1.298.1239","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.298.1239","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.ida.liu.se/~chrke/skepu/SkePU-HLPP-2010.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W7099919487","https://openalex.org/W50274634","https://openalex.org/W2261716154","https://openalex.org/W2151788546","https://openalex.org/W2025437939","https://openalex.org/W570215896","https://openalex.org/W434099219","https://openalex.org/W644934406","https://openalex.org/W2106213224","https://openalex.org/W2000671521"],"abstract_inverted_index":{"We":[0,99,158],"present":[1],"SkePU,":[2],"a":[3,9,43,47,68,106,109,117,153,166,188,193,198],"C++":[4],"template":[5],"library":[6],"which":[7,92],"provides":[8],"simple":[10],"and":[11,27,39,46,61,105,169],"unified":[12],"interface":[13,30],"for":[14,155],"specifying":[15],"data-parallel":[16],"computations":[17],"with":[18,102,165,176,187],"the":[19,59,62,77,84,127],"help":[20,141],"of":[21,79],"skeletons":[22],"on":[23,197],"GPUs":[24,151],"using":[25,185],"CUDA":[26],"OpenCL.":[28],"The":[29,113],"is":[31,76,123,130],"also":[32,52,146],"general":[33],"enough":[34],"to":[35,88,94,120,133,142,178,192],"support":[36],"other":[37],"architectures,":[38],"SkePU":[40,75,101,161,186],"implements":[41],"both":[42],"sequential":[44,194],"CPU":[45],"parallel":[48],"OpenMP":[49],"backend.":[50],"It":[51,145],"supports":[53],"multi-GPU":[54],"systems.":[55],"Copying":[56],"data":[57],"between":[58],"host":[60],"GPU":[63,121,189],"device":[64],"memory":[65,81,97,134,138],"can":[66,140],"be":[67],"performance":[69,156,164],"bottleneck.":[70],"A":[71],"key":[72],"technique":[73],"in":[74,83],"implementation":[78],"lazy":[80,137],"copying":[82,139],"container":[85],"type":[86],"used":[87],"represent":[89],"skeleton":[90,118],"operands,":[91],"allows":[93],"avoid":[95],"unnecessary":[96],"transfers.":[98],"evaluate":[100],"small":[103],"benchmarks":[104],"larger":[107],"application,":[108],"Runge-Kutta":[110],"ODE":[111,174],"solver.":[112],"results":[114],"show":[115],"that":[116,148,160],"approach":[119],"programming":[122],"viable,":[124],"especially":[125],"when":[126,184],"computation":[128],"burden":[129],"large":[131],"compared":[132,191],"I/O":[135],"(the":[136],"achieve":[143],"this).":[144],"shows":[147],"utilizing":[149],"several":[150],"have":[152],"potential":[154],"gains.":[157],"see":[159],"offers":[162],"good":[163],"more":[167],"complex":[168],"realistic":[170],"task":[171],"such":[172],"as":[173],"solving,":[175],"up":[177],"10":[179],"times":[180,183],"faster":[181],"run":[182],"backend":[190],"solver":[195],"running":[196],"fast":[199],"CPU.":[200]},"counts_by_year":[],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2025-10-27T00:00:00"}
