{"id":"https://openalex.org/W4415250754","doi":"https://doi.org/10.1109/hpec67600.2025.11196284","title":"P4OMP: Retrieval-Augmented Prompting for OpenMP Parallelism in Serial Code","display_name":"P4OMP: Retrieval-Augmented Prompting for OpenMP Parallelism in Serial Code","publication_year":2025,"publication_date":"2025-09-15","ids":{"openalex":"https://openalex.org/W4415250754","doi":"https://doi.org/10.1109/hpec67600.2025.11196284"},"language":"en","primary_location":{"id":"doi:10.1109/hpec67600.2025.11196284","is_oa":false,"landing_page_url":"https://doi.org/10.1109/hpec67600.2025.11196284","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2025 IEEE High Performance Extreme Computing Conference (HPEC)","raw_type":"proceedings-article"},"type":"article","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/A5081036583","display_name":"Wali Mohammad Abdullah","orcid":"https://orcid.org/0000-0003-1523-7628"},"institutions":[{"id":"https://openalex.org/I131564278","display_name":"Concordia University of Edmonton","ror":"https://ror.org/04013rx15","country_code":"CA","type":"education","lineage":["https://openalex.org/I131564278"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Wali Mohammad Abdullah","raw_affiliation_strings":["Concordia University of Edmonton,Mathematics &amp; Information Technology,Edmonton,Canada"],"affiliations":[{"raw_affiliation_string":"Concordia University of Edmonton,Mathematics &amp; Information Technology,Edmonton,Canada","institution_ids":["https://openalex.org/I131564278"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5109677877","display_name":"Azmain Kabir","orcid":"https://orcid.org/0009-0002-6077-7631"},"institutions":[{"id":"https://openalex.org/I46247651","display_name":"University of Manitoba","ror":"https://ror.org/02gfys938","country_code":"CA","type":"education","lineage":["https://openalex.org/I46247651"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Azmain Kabir","raw_affiliation_strings":["University of Manitoba,Computer Science,Winnipeg,Canada"],"affiliations":[{"raw_affiliation_string":"University of Manitoba,Computer Science,Winnipeg,Canada","institution_ids":["https://openalex.org/I46247651"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5081036583"],"corresponding_institution_ids":["https://openalex.org/I131564278"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.33856674,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"6"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9562000036239624,"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"}},"topics":[{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9562000036239624,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9521999955177307,"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/T11269","display_name":"Algorithms and Data Compression","score":0.9473000168800354,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/correctness","display_name":"Correctness","score":0.7146000266075134},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6538000106811523},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.6182000041007996},{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.4787999987602234},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4659999907016754},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.4196999967098236},{"id":"https://openalex.org/keywords/porting","display_name":"Porting","score":0.40049999952316284},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.400299996137619}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.885699987411499},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.7146000266075134},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6549999713897705},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6538000106811523},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.6182000041007996},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.602400004863739},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.4787999987602234},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4659999907016754},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4196999967098236},{"id":"https://openalex.org/C106251023","wikidata":"https://www.wikidata.org/wiki/Q851989","display_name":"Porting","level":3,"score":0.40049999952316284},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.400299996137619},{"id":"https://openalex.org/C43214815","wikidata":"https://www.wikidata.org/wiki/Q7310987","display_name":"Reliability (semiconductor)","level":3,"score":0.3968999981880188},{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.37439998984336853},{"id":"https://openalex.org/C55526617","wikidata":"https://www.wikidata.org/wiki/Q719375","display_name":"Operand","level":2,"score":0.358599990606308},{"id":"https://openalex.org/C9395851","wikidata":"https://www.wikidata.org/wiki/Q177929","display_name":"Stack (abstract data type)","level":2,"score":0.3280999958515167},{"id":"https://openalex.org/C88482812","wikidata":"https://www.wikidata.org/wiki/Q6453666","display_name":"Modular programming","level":2,"score":0.31630000472068787},{"id":"https://openalex.org/C2780870223","wikidata":"https://www.wikidata.org/wiki/Q1004415","display_name":"Runtime system","level":2,"score":0.304500013589859},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.2939000129699707},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.2897999882698059},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.27950000762939453},{"id":"https://openalex.org/C12725497","wikidata":"https://www.wikidata.org/wiki/Q810247","display_name":"Baseline (sea)","level":2,"score":0.26570001244544983},{"id":"https://openalex.org/C50831359","wikidata":"https://www.wikidata.org/wiki/Q165436","display_name":"Assembly language","level":3,"score":0.2639999985694885},{"id":"https://openalex.org/C2778143727","wikidata":"https://www.wikidata.org/wiki/Q1820650","display_name":"Readability","level":2,"score":0.26080000400543213}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/hpec67600.2025.11196284","is_oa":false,"landing_page_url":"https://doi.org/10.1109/hpec67600.2025.11196284","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2025 IEEE High Performance Extreme Computing Conference (HPEC)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320313074","display_name":"Concordia University of Edmonton","ror":"https://ror.org/04013rx15"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":13,"referenced_works":["https://openalex.org/W4205541117","https://openalex.org/W4285290135","https://openalex.org/W4308090282","https://openalex.org/W4386268988","https://openalex.org/W4391169057","https://openalex.org/W4391420745","https://openalex.org/W4401454468","https://openalex.org/W4402635456","https://openalex.org/W4403023865","https://openalex.org/W4403486628","https://openalex.org/W4403816928","https://openalex.org/W4404099940","https://openalex.org/W4404211215"],"related_works":[],"abstract_inverted_index":{"We":[0,79,165],"present":[1],"P4OMP,":[2],"a":[3,83,89,181],"retrieval-augmented":[4],"framework":[5],"for":[6,32],"transforming":[7],"serial":[8],"C/C++":[9],"code":[10,14,60],"into":[11],"OpenMP-annotated":[12],"parallel":[13],"using":[15],"large":[16],"language":[17],"models":[18],"(LLMs).":[19],"To":[20],"our":[21],"knowledge,":[22],"this":[23],"is":[24],"the":[25,56,66,116,188],"first":[26],"system":[27],"to":[28,54,74,119,140],"apply":[29],"retrieval-based":[30],"prompting":[31,76],"OpenMP":[33,52,142,194],"pragma":[34],"correctness":[35,72],"without":[36,86],"model":[37],"fine-tuning":[38],"or":[39,134],"compiler":[40],"instrumentation.":[41],"P4OMP":[42,69,81,106,149,179],"leverages":[43],"Retrieval-Augmented":[44],"Generation":[45],"(RAG)":[46],"with":[47,77],"structured":[48],"instructional":[49],"knowledge":[50],"from":[51,98],"tutorials":[53],"improve":[55],"reliability":[57,189],"of":[58,92,124,192],"prompt-driven":[59],"generation.":[61],"By":[62],"grounding":[63],"generation":[64],"in":[65,121],"retrieved":[67],"context,":[68],"improves":[70,187],"syntactic":[71,154],"compared":[73],"baseline":[75,117],"GPT-3.5-Turbo.":[78],"evaluate":[80],"against":[82],"baseline,":[84],"GPT-3.5-Turbo":[85],"retrieval,":[87],"on":[88,111,131,175],"comprehensive":[90],"benchmark":[91,104],"108":[93,125],"real-world":[94],"C++":[95],"programs":[96],"drawn":[97],"Stack":[99],"Overflow,":[100],"PolyBench,":[101],"and":[102,156,190],"NAS":[103],"suites.":[105],"achieves":[107],"100%":[108],"compilation":[109],"success":[110],"all":[112],"parallelizable":[113],"cases,":[114],"while":[115],"fails":[118],"compile":[120],"20":[122],"out":[123],"cases.":[126],"Six":[127],"cases":[128],"that":[129,160,185],"rely":[130],"non-random-access":[132],"iterators":[133],"thread-unsafe":[135],"constructs":[136],"are":[137],"excluded":[138],"due":[139],"fundamental":[141],"limitations.":[143],"A":[144],"detailed":[145],"analysis":[146],"demonstrates":[147],"how":[148],"consistently":[150],"avoids":[151],"scoping":[152],"errors,":[153],"misuse,":[155],"invalid":[157],"directive":[158],"combinations":[159],"commonly":[161],"affect":[162],"baseline-generated":[163],"code.":[164,195],"further":[166],"demonstrate":[167],"strong":[168],"runtime":[169],"scaling":[170],"across":[171],"seven":[172],"compute-intensive":[173],"benchmarks":[174],"an":[176],"HPC":[177],"cluster.":[178],"offers":[180],"robust,":[182],"modular":[183],"pipeline":[184],"significantly":[186],"applicability":[191],"LLM-generated":[193]},"counts_by_year":[],"updated_date":"2026-04-09T08:11:56.329763","created_date":"2025-10-16T00:00:00"}
