{"id":"https://openalex.org/W4401408748","doi":"https://doi.org/10.1145/3673038.3673104","title":"Evaluating and optimising compiler code generation for NVIDIA Grace","display_name":"Evaluating and optimising compiler code generation for NVIDIA Grace","publication_year":2024,"publication_date":"2024-08-08","ids":{"openalex":"https://openalex.org/W4401408748","doi":"https://doi.org/10.1145/3673038.3673104"},"language":"en","primary_location":{"id":"doi:10.1145/3673038.3673104","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3673038.3673104","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3673038.3673104","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 53rd International Conference on Parallel Processing","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3673038.3673104","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5065870005","display_name":"Ricardo Jesus","orcid":"https://orcid.org/0000-0002-9651-4756"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Ricardo Jesus","raw_affiliation_strings":["EPCC, The University of Edinburgh, United Kingdom"],"raw_orcid":"https://orcid.org/0000-0002-9651-4756","affiliations":[{"raw_affiliation_string":"EPCC, The University of Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5052858951","display_name":"Mich\u00e8le Weiland","orcid":"https://orcid.org/0000-0003-4713-3073"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Miche\u0300le Weiland","raw_affiliation_strings":["EPCC, The University of Edinburgh, United Kingdom"],"raw_orcid":"https://orcid.org/0000-0003-4713-3073","affiliations":[{"raw_affiliation_string":"EPCC, The University of Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I98677209"],"apc_list":null,"apc_paid":null,"fwci":1.648,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.8559434,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"691","last_page":"700"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12720","display_name":"Multimedia Communication and Technology","score":0.8949000239372253,"subfield":{"id":"https://openalex.org/subfields/3312","display_name":"Sociology and Political Science"},"field":{"id":"https://openalex.org/fields/33","display_name":"Social Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},"topics":[{"id":"https://openalex.org/T12720","display_name":"Multimedia Communication and Technology","score":0.8949000239372253,"subfield":{"id":"https://openalex.org/subfields/3312","display_name":"Sociology and Political Science"},"field":{"id":"https://openalex.org/fields/33","display_name":"Social Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7873333096504211},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7856179475784302},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.6388981938362122},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6279463171958923},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6224279403686523},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5189261436462402},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3859598934650421},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.27853477001190186}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7873333096504211},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7856179475784302},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.6388981938362122},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6279463171958923},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6224279403686523},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5189261436462402},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3859598934650421},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.27853477001190186},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3673038.3673104","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3673038.3673104","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3673038.3673104","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 53rd International Conference on Parallel Processing","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/94fb7ab3-1e9a-4288-8de4-a76d6eea1459","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/94fb7ab3-1e9a-4288-8de4-a76d6eea1459","pdf_url":null,"source":{"id":"https://openalex.org/S4306400321","display_name":"Edinburgh Research Explorer (University of Edinburgh)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98677209","host_organization_name":"University of Edinburgh","host_organization_lineage":["https://openalex.org/I98677209"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Jesus, R & Weiland, M 2024, Evaluating and optimising compiler code generation for NVIDIA Grace. in ICPP '24 : Proceedings of the 53rd International Conference on Parallel Processing. Association for Computing Machinery (ACM), pp. 691-700, 53rd International Conference on Parallel Processing, Gotland, Sweden, 12/08/24. https://doi.org/10.1145/3673038.3673104","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:pure.ed.ac.uk:publications/94fb7ab3-1e9a-4288-8de4-a76d6eea1459","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/files/465477282/JesusWeilandICPP2024EvaluatingAndOptimisingCompiler.pdf","pdf_url":null,"source":{"id":"https://openalex.org/S4306400321","display_name":"Edinburgh Research Explorer (University of Edinburgh)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98677209","host_organization_name":"University of Edinburgh","host_organization_lineage":["https://openalex.org/I98677209"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Jesus, R & Weiland, M 2024, Evaluating and optimising compiler code generation for NVIDIA Grace. in ICPP '24 : Proceedings of the 53rd International Conference on Parallel Processing. Association for Computing Machinery (ACM), pp. 691-700, 53rd International Conference on Parallel Processing, Gotland, Sweden, 12/08/24. https://doi.org/10.1145/3673038.3673104","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"doi:10.1145/3673038.3673104","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3673038.3673104","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3673038.3673104","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 53rd International Conference on Parallel Processing","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4401408748.pdf"},"referenced_works_count":4,"referenced_works":["https://openalex.org/W4281689324","https://openalex.org/W4300043564","https://openalex.org/W4390683772","https://openalex.org/W4390683800"],"related_works":["https://openalex.org/W650988184","https://openalex.org/W2162410319","https://openalex.org/W2137356287","https://openalex.org/W4321184925","https://openalex.org/W2056396287","https://openalex.org/W60915090","https://openalex.org/W2025840053","https://openalex.org/W2161692994","https://openalex.org/W2048831961","https://openalex.org/W1606349578"],"abstract_inverted_index":{"In":[0,168],"this":[1,171],"paper,":[2],"we":[3,116,174],"explore":[4],"the":[5,8,20,29,35,43,49,77,80,99,108,128,145,178],"performance":[6,44,166],"of":[7,45,196],"main":[9],"optimising":[10],"compiler":[11,58,147,155,179],"toolchains":[12],"currently":[13],"available":[14],"for":[15,23,194],"high-performance":[16],"AArch64":[17],"processors,":[18],"namely":[19],"Arm":[21],"Compiler":[22],"Linux":[24],"(ACFL),":[25],"GNU,":[26],"LLVM":[27,123],"and":[28,61,82,103,131,152,187],"NVIDIA":[30,38],"HPC":[31],"(NVHPC)":[32],"compilers,":[33],"on":[34,72,87,95],"recently":[36],"released":[37],"Grace":[39],"CPU.":[40],"We":[41,63,141],"evaluate":[42],"these":[46],"compilers":[47,66,110,130],"using":[48],"RAJA":[50],"Performance":[51],"Suite":[52],"(RAJAPerf)":[53],"to":[54,112,127,134,182],"understand":[55],"where":[56,122,144,153,170],"each":[57],"does":[59],"best":[60],"why.":[62],"find":[64],"that":[65],"mostly":[67],"generate":[68],"well":[69],"optimised":[70],"code":[71,105,136,151,185],"baseline":[73],"sequential":[74],"runs,":[75],"with":[76],"gap":[78,100],"between":[79,101],"fastest":[81,102],"slowest":[83,104],"being":[84],"only":[85],"8%":[86],"average.":[88],"However,":[89],"they":[90],"exhibit":[91],"much":[92],"larger":[93],"variations":[94],"threaded":[96],"parallel":[97],"runs\u2014with":[98],"generated":[106],"by":[107],"different":[109],"increasing":[111],"roughly":[113],"33%.":[114],"Furthermore,":[115],"investigate":[117],"in":[118,138,199],"detail":[119],"those":[120,139,159],"kernels":[121],"performs":[124],"worst":[125],"relative":[126],"remaining":[129],"propose":[132,175],"optimisations":[133],"improve":[135,165],"generation":[137,186],"cases.":[140],"show":[142],"scenarios":[143],"default":[146],"behaviour":[148],"produces":[149],"sub-optimal":[150],"adjusting":[154],"flags,":[156],"such":[157],"as":[158],"explicitly":[160],"controlling":[161],"loop":[162],"unrolling,":[163],"can":[164],"significantly.":[167],"cases":[169],"is":[172],"insufficient,":[173],"changes":[176],"at":[177],"level":[180],"necessary":[181],"enable":[183],"improved":[184],"unlock":[188],"further":[189],"optimisations.":[190],"These":[191],"improvements":[192],"account":[193],"speedups":[195],"over":[197],"70%":[198],"some":[200],"kernels.":[201]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
