{"id":"https://openalex.org/W3047627975","doi":"https://doi.org/10.1145/3404397.3404470","title":"Vector Forward Mode Automatic Differentiation on SIMD/SIMT architectures","display_name":"Vector Forward Mode Automatic Differentiation on SIMD/SIMT architectures","publication_year":2020,"publication_date":"2020-08-09","ids":{"openalex":"https://openalex.org/W3047627975","doi":"https://doi.org/10.1145/3404397.3404470","mag":"3047627975"},"language":"en","primary_location":{"id":"doi:10.1145/3404397.3404470","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3404397.3404470","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"49th International Conference on Parallel Processing - ICPP","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/A5018679209","display_name":"Jan H\u00fcckelheim","orcid":"https://orcid.org/0000-0003-3479-6361"},"institutions":[{"id":"https://openalex.org/I1282105669","display_name":"Argonne National Laboratory","ror":"https://ror.org/05gvnxz63","country_code":"US","type":"facility","lineage":["https://openalex.org/I1282105669","https://openalex.org/I1330989302","https://openalex.org/I39565521","https://openalex.org/I40347166"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Jan H\u00fcckelheim","raw_affiliation_strings":["Argonne National Laboratory"],"affiliations":[{"raw_affiliation_string":"Argonne National Laboratory","institution_ids":["https://openalex.org/I1282105669"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5011552443","display_name":"Michel Schanen","orcid":"https://orcid.org/0000-0002-4164-027X"},"institutions":[{"id":"https://openalex.org/I1282105669","display_name":"Argonne National Laboratory","ror":"https://ror.org/05gvnxz63","country_code":"US","type":"facility","lineage":["https://openalex.org/I1282105669","https://openalex.org/I1330989302","https://openalex.org/I39565521","https://openalex.org/I40347166"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Michel Schanen","raw_affiliation_strings":["Argonne National Laboratory"],"affiliations":[{"raw_affiliation_string":"Argonne National Laboratory","institution_ids":["https://openalex.org/I1282105669"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5008798516","display_name":"Sri Hari Krishna Narayanan","orcid":"https://orcid.org/0000-0003-0388-5943"},"institutions":[{"id":"https://openalex.org/I1282105669","display_name":"Argonne National Laboratory","ror":"https://ror.org/05gvnxz63","country_code":"US","type":"facility","lineage":["https://openalex.org/I1282105669","https://openalex.org/I1330989302","https://openalex.org/I39565521","https://openalex.org/I40347166"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sri Hari Krishna Narayanan","raw_affiliation_strings":["Argonne National Laboratory"],"affiliations":[{"raw_affiliation_string":"Argonne National Laboratory","institution_ids":["https://openalex.org/I1282105669"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5067040957","display_name":"Paul Hovland","orcid":"https://orcid.org/0000-0002-0907-2567"},"institutions":[{"id":"https://openalex.org/I1282105669","display_name":"Argonne National Laboratory","ror":"https://ror.org/05gvnxz63","country_code":"US","type":"facility","lineage":["https://openalex.org/I1282105669","https://openalex.org/I1330989302","https://openalex.org/I39565521","https://openalex.org/I40347166"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Paul Hovland","raw_affiliation_strings":["Argonne National Laboratory"],"affiliations":[{"raw_affiliation_string":"Argonne National Laboratory","institution_ids":["https://openalex.org/I1282105669"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5018679209"],"corresponding_institution_ids":["https://openalex.org/I1282105669"],"apc_list":null,"apc_paid":null,"fwci":1.178,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.77038627,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"11"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10963","display_name":"Advanced Optimization Algorithms Research","score":0.998199999332428,"subfield":{"id":"https://openalex.org/subfields/2612","display_name":"Numerical Analysis"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10963","display_name":"Advanced Optimization Algorithms Research","score":0.998199999332428,"subfield":{"id":"https://openalex.org/subfields/2612","display_name":"Numerical Analysis"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11697","display_name":"Numerical Methods and Algorithms","score":0.9975000023841858,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.9937999844551086,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/automatic-differentiation","display_name":"Automatic differentiation","score":0.9241317510604858},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8204575181007385},{"id":"https://openalex.org/keywords/mode","display_name":"Mode (computer interface)","score":0.7300719022750854},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7117892503738403},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.7106247544288635},{"id":"https://openalex.org/keywords/simd","display_name":"SIMD","score":0.6742966175079346},{"id":"https://openalex.org/keywords/constant","display_name":"Constant (computer programming)","score":0.608884334564209},{"id":"https://openalex.org/keywords/factor","display_name":"Factor (programming language)","score":0.45996788144111633},{"id":"https://openalex.org/keywords/differentiable-function","display_name":"Differentiable function","score":0.4218613803386688},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.38462114334106445},{"id":"https://openalex.org/keywords/computer-engineering","display_name":"Computer engineering","score":0.32332146167755127},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.14480790495872498},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.12952062487602234},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.10397407412528992}],"concepts":[{"id":"https://openalex.org/C133512626","wikidata":"https://www.wikidata.org/wiki/Q787371","display_name":"Automatic differentiation","level":3,"score":0.9241317510604858},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8204575181007385},{"id":"https://openalex.org/C48677424","wikidata":"https://www.wikidata.org/wiki/Q6888088","display_name":"Mode (computer interface)","level":2,"score":0.7300719022750854},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7117892503738403},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.7106247544288635},{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.6742966175079346},{"id":"https://openalex.org/C2777027219","wikidata":"https://www.wikidata.org/wiki/Q1284190","display_name":"Constant (computer programming)","level":2,"score":0.608884334564209},{"id":"https://openalex.org/C2781039887","wikidata":"https://www.wikidata.org/wiki/Q1391724","display_name":"Factor (programming language)","level":2,"score":0.45996788144111633},{"id":"https://openalex.org/C202615002","wikidata":"https://www.wikidata.org/wiki/Q783507","display_name":"Differentiable function","level":2,"score":0.4218613803386688},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.38462114334106445},{"id":"https://openalex.org/C113775141","wikidata":"https://www.wikidata.org/wiki/Q428691","display_name":"Computer engineering","level":1,"score":0.32332146167755127},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.14480790495872498},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.12952062487602234},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.10397407412528992},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3404397.3404470","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3404397.3404470","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"49th International Conference on Parallel Processing - ICPP","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":52,"referenced_works":["https://openalex.org/W400678491","https://openalex.org/W624564079","https://openalex.org/W1484758406","https://openalex.org/W1531833482","https://openalex.org/W1533404702","https://openalex.org/W1550523300","https://openalex.org/W1559264847","https://openalex.org/W1585773866","https://openalex.org/W1687284804","https://openalex.org/W1853291804","https://openalex.org/W1966377066","https://openalex.org/W1967134278","https://openalex.org/W1994309501","https://openalex.org/W1995561370","https://openalex.org/W1996852196","https://openalex.org/W2031070741","https://openalex.org/W2033138649","https://openalex.org/W2033889933","https://openalex.org/W2045856019","https://openalex.org/W2057235791","https://openalex.org/W2069563463","https://openalex.org/W2071746250","https://openalex.org/W2078794610","https://openalex.org/W2083257046","https://openalex.org/W2087988151","https://openalex.org/W2095621348","https://openalex.org/W2096080920","https://openalex.org/W2133726159","https://openalex.org/W2146534684","https://openalex.org/W2155212612","https://openalex.org/W2175055016","https://openalex.org/W2256407986","https://openalex.org/W2273440736","https://openalex.org/W2462012676","https://openalex.org/W2478429860","https://openalex.org/W2482888308","https://openalex.org/W2793476006","https://openalex.org/W2885684613","https://openalex.org/W2889720240","https://openalex.org/W2897791367","https://openalex.org/W2899771611","https://openalex.org/W2901943374","https://openalex.org/W2948888898","https://openalex.org/W2954415057","https://openalex.org/W2962727772","https://openalex.org/W2984920043","https://openalex.org/W3099270997","https://openalex.org/W3102564634","https://openalex.org/W3104140109","https://openalex.org/W3105664040","https://openalex.org/W4232938471","https://openalex.org/W4245075547"],"related_works":["https://openalex.org/W1543341614","https://openalex.org/W1718642889","https://openalex.org/W2553993726","https://openalex.org/W4285277090","https://openalex.org/W2039953621","https://openalex.org/W4327738859","https://openalex.org/W4287329596","https://openalex.org/W166200282","https://openalex.org/W2958554379","https://openalex.org/W4318903784"],"abstract_inverted_index":{"Automatic":[0],"differentiation,":[1],"back-propagation,":[2],"differentiable":[3],"programming":[4],"and":[5,27,60,90,109,132],"related":[6],"methods":[7],"have":[8],"received":[9],"widespread":[10],"attention,":[11],"due":[12],"to":[13,16,41,48],"their":[14],"ability":[15],"compute":[17,66],"accurate":[18],"gradients":[19,67],"of":[20,58,72,154],"numerical":[21],"programs":[22,149],"for":[23,68,129,148],"optimization,":[24],"uncertainty":[25],"quantification,":[26],"machine":[28],"learning.":[29],"Two":[30],"strategies":[31],"are":[32,126],"commonly":[33],"used.":[34],"The":[35],"forward":[36,102,141],"mode,":[37,63,114],"which":[38,64],"is":[39,88,93,122],"easy":[40],"implement":[42],"but":[43,115],"has":[44,98],"an":[45,69],"overhead":[46],"compared":[47],"the":[49,56,61,81,91,101,112,123,140,145],"original":[50],"program":[51,73],"that":[52,100,139,159],"grows":[53],"linearly":[54],"with":[55,75,150],"number":[57,71,158],"inputs,":[59],"reverse":[62,113,146],"can":[65,83,104,143],"arbitrary":[70],"inputs":[74],"a":[76,157],"constant":[77,82],"factor":[78],"overhead,":[79],"although":[80],"be":[84,105],"large,":[85],"more":[86,106],"memory":[87],"required,":[89],"implementation":[92],"often":[94],"challenging.":[95],"Previous":[96],"literature":[97],"shown":[99],"mode":[103,121,142,147],"easily":[107],"parallelized":[108],"vectorized":[110],"than":[111],"case":[116],"studies":[117],"investigating":[118],"when":[119],"either":[120],"best":[124],"choice":[125],"lacking,":[127],"especially":[128],"modern":[130],"CPUs":[131],"GPUs.":[133],"In":[134],"this":[135],"paper,":[136],"we":[137],"demonstrate":[138],"outperform":[144],"tens":[151],"or":[152],"hundreds":[153],"directional":[155],"derivatives,":[156],"may":[160],"yet":[161],"increase":[162],"if":[163],"current":[164],"hardware":[165],"trends":[166],"continue.":[167]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
