{"id":"https://openalex.org/W6964743749","doi":"https://doi.org/10.26190/unsworks/19177","title":"Compiler techniques for improving SIMD parallelism","display_name":"Compiler techniques for improving SIMD parallelism","publication_year":2022,"publication_date":"2022-03-22","ids":{"openalex":"https://openalex.org/W6964743749","doi":"https://doi.org/10.26190/unsworks/19177"},"language":"en","primary_location":{"id":"pmh:oai:unsworks.unsw.edu.au:1959.4/56842","is_oa":false,"landing_page_url":"http://handle.unsw.edu.au/1959.4/56842","pdf_url":null,"source":{"id":"https://openalex.org/S4377196481","display_name":"UNSWorks (UNSW Sydney)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I31746571","host_organization_name":"UNSW Sydney","host_organization_lineage":["https://openalex.org/I31746571"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Thesis"},"type":"dissertation","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://hdl.handle.net/1959.4/56842","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Zhou, Hao","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Zhou, Hao","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.835099995136261,"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.835099995136261,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.07890000194311142,"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/T11034","display_name":"Digital Filter Design and Implementation","score":0.013399999588727951,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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/simd","display_name":"SIMD","score":0.9215999841690063},{"id":"https://openalex.org/keywords/vectorization","display_name":"Vectorization (mathematics)","score":0.7021999955177307},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.644599974155426},{"id":"https://openalex.org/keywords/data-parallelism","display_name":"Data parallelism","score":0.6333000063896179},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5971999764442444},{"id":"https://openalex.org/keywords/instruction-level-parallelism","display_name":"Instruction-level parallelism","score":0.39579999446868896}],"concepts":[{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.9215999841690063},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8151999711990356},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7777000069618225},{"id":"https://openalex.org/C41681595","wikidata":"https://www.wikidata.org/wiki/Q7917855","display_name":"Vectorization (mathematics)","level":2,"score":0.7021999955177307},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.644599974155426},{"id":"https://openalex.org/C61483411","wikidata":"https://www.wikidata.org/wiki/Q3124522","display_name":"Data parallelism","level":3,"score":0.6333000063896179},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5971999764442444},{"id":"https://openalex.org/C140763907","wikidata":"https://www.wikidata.org/wiki/Q2714055","display_name":"Instruction-level parallelism","level":3,"score":0.39579999446868896},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.39579999446868896},{"id":"https://openalex.org/C42992933","wikidata":"https://www.wikidata.org/wiki/Q691169","display_name":"Task parallelism","level":3,"score":0.36959999799728394},{"id":"https://openalex.org/C3543717","wikidata":"https://www.wikidata.org/wiki/Q6007302","display_name":"Implicit parallelism","level":4,"score":0.35510000586509705},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.33469998836517334},{"id":"https://openalex.org/C2781198647","wikidata":"https://www.wikidata.org/wiki/Q1633673","display_name":"Datapath","level":2,"score":0.32760000228881836},{"id":"https://openalex.org/C190475519","wikidata":"https://www.wikidata.org/wiki/Q544384","display_name":"Massively parallel","level":2,"score":0.2946999967098236}],"mesh":[],"locations_count":3,"locations":[{"id":"pmh:oai:unsworks.unsw.edu.au:1959.4/56842","is_oa":false,"landing_page_url":"http://handle.unsw.edu.au/1959.4/56842","pdf_url":null,"source":{"id":"https://openalex.org/S4377196481","display_name":"UNSWorks (UNSW Sydney)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I31746571","host_organization_name":"UNSW Sydney","host_organization_lineage":["https://openalex.org/I31746571"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Thesis"},{"id":"pmh:oai:unsworks.library.unsw.edu.au:1959.4/56842","is_oa":true,"landing_page_url":"http://hdl.handle.net/1959.4/56842","pdf_url":null,"source":{"id":"https://openalex.org/S4306401737","display_name":"UNSWorks (University of New South Wales, Sydney, Australia)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I40053085","host_organization_name":"Australian Defence Force Academy","host_organization_lineage":["https://openalex.org/I40053085"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"http://purl.org/coar/resource_type/c_db06"},{"id":"doi:10.26190/unsworks/19177","is_oa":true,"landing_page_url":"https://doi.org/10.26190/unsworks/19177","pdf_url":null,"source":{"id":"https://openalex.org/S4377196481","display_name":"UNSWorks (UNSW Sydney)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I31746571","host_organization_name":"UNSW Sydney","host_organization_lineage":["https://openalex.org/I31746571"],"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":"Dissertation"}],"best_oa_location":{"id":"pmh:oai:unsworks.library.unsw.edu.au:1959.4/56842","is_oa":true,"landing_page_url":"http://hdl.handle.net/1959.4/56842","pdf_url":null,"source":{"id":"https://openalex.org/S4306401737","display_name":"UNSWorks (University of New South Wales, Sydney, Australia)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I40053085","host_organization_name":"Australian Defence Force Academy","host_organization_lineage":["https://openalex.org/I40053085"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"http://purl.org/coar/resource_type/c_db06"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"Modern":[0],"CPUs":[1],"are":[2,81,96,112,227,340],"equipped":[3],"with":[4,351],"Single":[5],"Instruction":[6],"Multiple":[7],"Data":[8],"(SIMD)":[9],"engines":[10],"operating":[11],"on":[12,152],"short":[13],"vectors,":[14],"in":[15,130,178,346],"order":[16],"to":[17,65,114,219,248,268,296,306],"meet":[18],"the":[19,32,40,55,66,101,138,153,157,161,207,220,243,250,292,317,367],"growing":[20],"demands":[21],"of":[22,38,47,137,144,156,164,170,176,215,291],"accelerating":[23],"multimedia":[24],"and":[25,91,110,272,338,342,361],"scientific":[26],"applications.":[27],"Automatic":[28],"simdization":[29],"performed":[30],"by":[31,100,205,310,320],"compiler,":[33],"as":[34,288],"a":[35,131,168,193,276,289],"convenient":[36],"way":[37],"utilizing":[39],"SIMD":[41,49,59,72,89,93,127,189,202,244,251,255,308,359],"ISA":[42],"extensions,":[43],"however,":[44],"faces":[45],"challenges":[46],"translating":[48],"resource":[50],"into":[51],"actual":[52],"performance.":[53],"Despite":[54],"fact":[56],"that":[57,74,172,182,231,259],"discovering":[58],"parallelism":[60,73,90,128,145,177,203,216,235,240,245,360],"is":[61,217,246,305],"sometimes":[62],"difficult":[63],"due":[64],"imprecise":[67],"dependence":[68],"analysis,":[69],"for":[70,141,160,198,229],"some":[71,237],"can":[75],"be":[76,269],"identified,":[77],"current":[78],"vectorization":[79,106,120,225],"techniques":[80,121,226],"ineffective.":[82],"In":[83],"this":[84],"thesis,":[85],"we":[86],"examine":[87],"mixed":[88,188,201,356],"partial":[92,254,265,358],"parallelism,":[94],"which":[95],"both":[97,174],"poorly":[98],"exploited":[99],"existing":[102,223],"approaches.":[103],"Two":[104],"new":[105,194,329,333],"techniques,":[107],"i.e.,":[108],"Loop-Mix":[109,197,337],"Paver,":[111],"proposed,":[113],"tackle":[115],"them":[116,350],"respectively.":[117],"Existing":[118],"loop":[119,224],"exploit":[122],"either":[123],"intra-":[124],"or":[125,332,357],"inter-iteration":[126],"alone":[129],"code":[132,180],"region,":[133],"if":[134],"one":[135,142,213],"part":[136,155],"region":[139,158],"vectorized":[140,159],"type":[143,163,214],"has":[146],"data":[147,185,208],"dependences":[148,186],"(called":[149],"mixed-parallelism-inhibiting":[150,184],"dependences)":[151],"other":[154,162],"parallelism.":[165],"We":[166,191,257,274,348],"consider":[167],"class":[169],"loops":[171,230,263],"exhibit":[173,232],"types":[175],"its":[179],"regions":[181],"contain":[183],"(i.e.,":[187,253],"parallelism).":[190,256],"present":[192,275],"compiler":[195,281],"approach":[196],"exploiting":[199],"such":[200,262,298],"effectively":[204,260],"reducing":[206],"reorganization":[209],"overhead":[210],"incurred":[211],"when":[212],"switched":[218],"other.":[221],"Additionally,":[222],"ineffective":[228],"little":[233],"loop-level":[234],"but":[236],"limited":[238],"superword-level":[239],"(SLP),":[241],"where":[242],"insufficient":[247],"fulfil":[249],"datapath":[252],"show":[258],"vectorizing":[261],"requires":[264],"vector":[266,312],"operations":[267],"executed":[270],"correctly":[271],"efficiently.":[273],"simple":[277,341],"yet":[278],"effective":[279],"SLP":[280,294],"technique,":[282],"called":[283],"Paver":[284,339],"(PArtial":[285],"VEctorizeR),":[286],"formulated":[287],"generalization":[290],"traditional":[293],"algorithm,":[295],"optimize":[297],"partially":[299],"vectorizable":[300],"loops.":[301],"The":[302],"key":[303],"idea":[304],"maximize":[307],"utilization":[309],"widening":[311],"instructions":[313],"used":[314],"while":[315],"minimizing":[316],"overheads":[318],"caused":[319],"memory":[321,330],"access,":[322],"packing/unpacking,":[323],"and/or":[324],"masking":[325],"operations,":[326],"without":[327],"introducing":[328],"errors":[331],"numeric":[334],"exceptions.":[335],"Both":[336],"have":[343],"been":[344],"implemented":[345],"LLVM.":[347],"evaluate":[349],"several":[352],"real-world":[353],"programs":[354],"containing":[355],"demonstrate":[362],"their":[363],"performance":[364],"advantages":[365],"over":[366],"state-of-the-art.":[368]},"counts_by_year":[],"updated_date":"2026-08-14T07:06:38.338062","created_date":"2025-10-10T00:00:00"}
