{"id":"https://openalex.org/W2792028943","doi":"https://doi.org/10.1145/3174243.3174252","title":"FASTCF","display_name":"FASTCF","publication_year":2018,"publication_date":"2018-02-15","ids":{"openalex":"https://openalex.org/W2792028943","doi":"https://doi.org/10.1145/3174243.3174252","mag":"2792028943"},"language":"en","primary_location":{"id":"doi:10.1145/3174243.3174252","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3174243.3174252","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays","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/A5101624782","display_name":"Shijie Zhou","orcid":"https://orcid.org/0000-0002-9677-9594"},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Shijie Zhou","raw_affiliation_strings":["University of Southern California, Los Angeles, CA, USA"],"affiliations":[{"raw_affiliation_string":"University of Southern California, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I1174212"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5042560222","display_name":"Rajgopal Kannan","orcid":"https://orcid.org/0000-0001-8736-3012"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Rajgopal Kannan","raw_affiliation_strings":["US Army Research Lab, Los Angeles, CA, USA"],"affiliations":[{"raw_affiliation_string":"US Army Research Lab, Los Angeles, CA, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5039053483","display_name":"Min Yu","orcid":"https://orcid.org/0000-0002-3969-8720"},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yu Min","raw_affiliation_strings":["University of Southern California, Los Angeles, CA, USA"],"affiliations":[{"raw_affiliation_string":"University of Southern California, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I1174212"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5033166029","display_name":"Viktor K. Prasanna","orcid":"https://orcid.org/0000-0002-1609-8589"},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Viktor K. Prasanna","raw_affiliation_strings":["University of Southern California, Los Angeles, CA, USA"],"affiliations":[{"raw_affiliation_string":"University of Southern California, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I1174212"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5101624782"],"corresponding_institution_ids":["https://openalex.org/I1174212"],"apc_list":null,"apc_paid":null,"fwci":2.3561,"has_fulltext":false,"cited_by_count":11,"citation_normalized_percentile":{"value":0.91095639,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":91,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"259","last_page":"268"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10203","display_name":"Recommender Systems and Techniques","score":0.9976999759674072,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10203","display_name":"Recommender Systems and Techniques","score":0.9976999759674072,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T11478","display_name":"Caching and Content Delivery","score":0.9972000122070312,"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/T11273","display_name":"Advanced Graph Neural Networks","score":0.9969000220298767,"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/computer-science","display_name":"Computer science","score":0.8378515243530273},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.599683403968811},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.5888078212738037},{"id":"https://openalex.org/keywords/bipartite-graph","display_name":"Bipartite graph","score":0.5283492207527161},{"id":"https://openalex.org/keywords/partition","display_name":"Partition (number theory)","score":0.494368314743042},{"id":"https://openalex.org/keywords/scheduling","display_name":"Scheduling (production processes)","score":0.43241187930107117},{"id":"https://openalex.org/keywords/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.41457176208496094},{"id":"https://openalex.org/keywords/stochastic-gradient-descent","display_name":"Stochastic gradient descent","score":0.41012927889823914},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.3576768636703491},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.32538363337516785},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.32495254278182983},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.21940088272094727},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.18891465663909912},{"id":"https://openalex.org/keywords/artificial-neural-network","display_name":"Artificial neural network","score":0.09809675812721252}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8378515243530273},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.599683403968811},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.5888078212738037},{"id":"https://openalex.org/C197657726","wikidata":"https://www.wikidata.org/wiki/Q174733","display_name":"Bipartite graph","level":3,"score":0.5283492207527161},{"id":"https://openalex.org/C42812","wikidata":"https://www.wikidata.org/wiki/Q1082910","display_name":"Partition (number theory)","level":2,"score":0.494368314743042},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.43241187930107117},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.41457176208496094},{"id":"https://openalex.org/C206688291","wikidata":"https://www.wikidata.org/wiki/Q7617819","display_name":"Stochastic gradient descent","level":3,"score":0.41012927889823914},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.3576768636703491},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.32538363337516785},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.32495254278182983},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.21940088272094727},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.18891465663909912},{"id":"https://openalex.org/C50644808","wikidata":"https://www.wikidata.org/wiki/Q192776","display_name":"Artificial neural network","level":2,"score":0.09809675812721252},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C21547014","wikidata":"https://www.wikidata.org/wiki/Q1423657","display_name":"Operations management","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3174243.3174252","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3174243.3174252","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W1783256592","https://openalex.org/W1910302617","https://openalex.org/W1912475167","https://openalex.org/W1981868151","https://openalex.org/W2009398166","https://openalex.org/W2026056737","https://openalex.org/W2027069801","https://openalex.org/W2054141820","https://openalex.org/W2058162908","https://openalex.org/W2062140606","https://openalex.org/W2068612205","https://openalex.org/W2076246374","https://openalex.org/W2094233035","https://openalex.org/W2094756095","https://openalex.org/W2100235918","https://openalex.org/W2119697285","https://openalex.org/W2123846711","https://openalex.org/W2142466236","https://openalex.org/W2147900830","https://openalex.org/W2157534438","https://openalex.org/W2168231600","https://openalex.org/W2210543184","https://openalex.org/W2250539671","https://openalex.org/W2287057303","https://openalex.org/W2297086932","https://openalex.org/W2508029414","https://openalex.org/W2511309458","https://openalex.org/W2566870951","https://openalex.org/W2576259597","https://openalex.org/W2585560244","https://openalex.org/W2585774018","https://openalex.org/W2739962869","https://openalex.org/W4241140669"],"related_works":["https://openalex.org/W2058965144","https://openalex.org/W2164382479","https://openalex.org/W2146343568","https://openalex.org/W98480971","https://openalex.org/W2150291671","https://openalex.org/W2013643406","https://openalex.org/W2027972911","https://openalex.org/W2966297898","https://openalex.org/W2955229517","https://openalex.org/W2324246115"],"abstract_inverted_index":{"Sparse":[0],"matrix":[1],"factorization":[2],"using":[3,233],"Stochastic":[4],"Gradient":[5],"Descent":[6],"(SGD)":[7],"is":[8,19],"a":[9,27,65,73,99,105,134,244],"popular":[10],"technique":[11,31],"for":[12,22,32,81,153],"deriving":[13],"latent":[14],"features":[15],"from":[16],"observations.":[17],"SGD":[18],"widely":[20],"used":[21],"Collaborative":[23],"Filtering":[24],"(CF),":[25],"itself":[26],"well-known":[28],"machine":[29],"learning":[30],"recommender":[33],"systems.":[34],"In":[35],"this":[36,128,145],"paper,":[37],"we":[38,97,132,161,177],"develop":[39,98,133],"an":[40],"FPGA-based":[41],"accelerator,":[42],"FASTCF,":[43],"to":[44,122,137,148,171,187,193,210,249],"accelerate":[45,124],"the":[46,77,82,125,139,164,173,179,182,194,203],"SGD-based":[47,85],"CF":[48,86],"algorithm.":[49],"FASTCF":[50,71,147,224,242,264],"consists":[51],"of":[52,76,84,93,117,127,166,181,247],"parallel,":[53],"pipelined":[54],"processing":[55,102,116,126],"units":[56],"which":[57],"concurrently":[58],"process":[59],"distinct":[60],"user":[61],"ratings":[62],"by":[63],"accessing":[64],"shared":[66,195],"on-chip":[67,118,196],"buffer.":[68,197],"We":[69,222],"design":[70,79,95],"through":[72],"holistic":[74],"analysis":[75,92],"specific":[78],"challenges":[80],"acceleration":[83],"on":[87,90,226],"FPGA.":[88],"Based":[89],"our":[91],"these":[94],"challenges,":[96],"bipartite":[100,129],"graph":[101,141],"approach":[103,206],"with":[104,199,258],"novel":[106],"3-level":[107],"hierarchical":[108,204],"partitioning":[109,205],"scheme":[110],"that":[111,241],"enables":[112,146],"conflict-minimizing":[113],"scheduling":[114],"and":[115,155,219,229,261,267],"feature":[119],"vector":[120],"data":[121,152,212],"significantly":[123],"graph.":[130],"First,":[131],"fast":[135],"heuristic":[136],"partition":[138,162],"input":[140],"into":[142,169],"induced":[143],"subgraphs;":[144],"efficiently":[149],"buffer":[150],"vertex":[151],"reuse":[154],"completely":[156],"hide":[157],"communication":[158],"overhead.":[159],"Second,":[160],"all":[163],"edges":[165,183],"each":[167,185],"subgraph":[168],"matchings":[170],"extract":[172],"maximum":[174],"parallelism.":[175],"Third,":[176],"schedule":[178],"execution":[180],"inside":[184],"matching":[186],"reduce":[188],"concurrent":[189],"memory":[190],"access":[191],"conflicts":[192],"Compared":[198,257],"non-optimized":[200],"baseline":[201],"designs,":[202],"results":[207,239],"in":[208],"up":[209,248],"60x":[211],"dependency":[213],"reduction,":[214,218],"4.2x":[215],"bank":[216],"conflict":[217],"15.4x":[220],"speedup.":[221],"implement":[223],"based":[225],"state-of-the-art":[227,259],"FPGA":[228],"evaluate":[230],"its":[231],"performance":[232],"three":[234],"large":[235],"real-life":[236],"datasets.":[237],"Experimental":[238],"show":[240],"sustains":[243],"high":[245],"throughput":[246],"217":[250],"billion":[251],"floating-point":[252],"operations":[253],"per":[254],"second":[255],"(GFLOPS).":[256],"multi-core":[260],"GPU":[262],"implementations,":[263],"demonstrates":[265],"13.3x":[266],"12.7x":[268],"speedup,":[269],"respectively.":[270]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":2},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2018-03-29T00:00:00"}
