{"id":"https://openalex.org/W1980208272","doi":"https://doi.org/10.1145/2601097.2601174","title":"Darkroom","display_name":"Darkroom","publication_year":2014,"publication_date":"2014-07-22","ids":{"openalex":"https://openalex.org/W1980208272","doi":"https://doi.org/10.1145/2601097.2601174","mag":"1980208272"},"language":"en","primary_location":{"id":"doi:10.1145/2601097.2601174","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2601097.2601174","pdf_url":null,"source":{"id":"https://openalex.org/S185367456","display_name":"ACM Transactions on Graphics","issn_l":"0730-0301","issn":["0730-0301","1557-7368"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Graphics","raw_type":"journal-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/A5008990019","display_name":"James Hegarty","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"James Hegarty","raw_affiliation_strings":["Stanford University"],"affiliations":[{"raw_affiliation_string":"Stanford University","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5033425088","display_name":"John Brunhaver","orcid":"https://orcid.org/0000-0002-0156-9392"},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"John Brunhaver","raw_affiliation_strings":["Stanford University"],"affiliations":[{"raw_affiliation_string":"Stanford University","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5008830900","display_name":"Zachary DeVito","orcid":"https://orcid.org/0009-0002-8863-1503"},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Zachary DeVito","raw_affiliation_strings":["Stanford University"],"affiliations":[{"raw_affiliation_string":"Stanford University","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023577472","display_name":"Jonathan Ragan\u2010Kelley","orcid":"https://orcid.org/0000-0001-6243-9543"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Jonathan Ragan-Kelley","raw_affiliation_strings":["MIT CSAIL"],"affiliations":[{"raw_affiliation_string":"MIT CSAIL","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5086285281","display_name":"Noy Cohen","orcid":"https://orcid.org/0000-0003-2224-640X"},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Noy Cohen","raw_affiliation_strings":["Stanford University"],"affiliations":[{"raw_affiliation_string":"Stanford University","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5110671059","display_name":"Steven Bell","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Steven Bell","raw_affiliation_strings":["Stanford University"],"affiliations":[{"raw_affiliation_string":"Stanford University","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034269950","display_name":"Artem Vasilyev","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Artem Vasilyev","raw_affiliation_strings":["Stanford University"],"affiliations":[{"raw_affiliation_string":"Stanford University","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090469068","display_name":"Mark Horowitz","orcid":"https://orcid.org/0000-0003-3245-7542"},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Mark Horowitz","raw_affiliation_strings":["Stanford University"],"affiliations":[{"raw_affiliation_string":"Stanford University","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5018111215","display_name":"Pat Hanrahan","orcid":"https://orcid.org/0000-0002-3474-9752"},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Pat Hanrahan","raw_affiliation_strings":["Stanford University"],"affiliations":[{"raw_affiliation_string":"Stanford University","institution_ids":["https://openalex.org/I97018004"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":9,"corresponding_author_ids":["https://openalex.org/A5008990019"],"corresponding_institution_ids":["https://openalex.org/I97018004"],"apc_list":null,"apc_paid":null,"fwci":9.1453,"has_fulltext":false,"cited_by_count":174,"citation_normalized_percentile":{"value":0.98271859,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":100},"biblio":{"volume":"33","issue":"4","first_page":"1","last_page":"11"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11992","display_name":"CCD and CMOS Imaging Sensors","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11992","display_name":"CCD and CMOS Imaging Sensors","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"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.9983999729156494,"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/T10036","display_name":"Advanced Neural Network Applications","score":0.9983000159263611,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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.7781801819801331},{"id":"https://openalex.org/keywords/darkroom","display_name":"Darkroom","score":0.5385552048683167},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5351171493530273},{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.5094149708747864},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.5055170059204102},{"id":"https://openalex.org/keywords/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.5018904209136963},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.5016889572143555},{"id":"https://openalex.org/keywords/pipeline-transport","display_name":"Pipeline transport","score":0.4938696026802063},{"id":"https://openalex.org/keywords/image-processing","display_name":"Image processing","score":0.45717909932136536},{"id":"https://openalex.org/keywords/uniprocessor-system","display_name":"Uniprocessor system","score":0.43217524886131287},{"id":"https://openalex.org/keywords/application-specific-integrated-circuit","display_name":"Application-specific integrated circuit","score":0.4173148572444916},{"id":"https://openalex.org/keywords/multiprocessing","display_name":"Multiprocessing","score":0.21860450506210327},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.20631220936775208},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.17354890704154968},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.1653626561164856},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.15916481614112854},{"id":"https://openalex.org/keywords/image","display_name":"Image (mathematics)","score":0.1192350685596466}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7781801819801331},{"id":"https://openalex.org/C2779484884","wikidata":"https://www.wikidata.org/wiki/Q601413","display_name":"Darkroom","level":2,"score":0.5385552048683167},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5351171493530273},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.5094149708747864},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.5055170059204102},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.5018904209136963},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.5016889572143555},{"id":"https://openalex.org/C175309249","wikidata":"https://www.wikidata.org/wiki/Q725864","display_name":"Pipeline transport","level":2,"score":0.4938696026802063},{"id":"https://openalex.org/C9417928","wikidata":"https://www.wikidata.org/wiki/Q1070689","display_name":"Image processing","level":3,"score":0.45717909932136536},{"id":"https://openalex.org/C79189994","wikidata":"https://www.wikidata.org/wiki/Q3488021","display_name":"Uniprocessor system","level":3,"score":0.43217524886131287},{"id":"https://openalex.org/C77390884","wikidata":"https://www.wikidata.org/wiki/Q217302","display_name":"Application-specific integrated circuit","level":2,"score":0.4173148572444916},{"id":"https://openalex.org/C4822641","wikidata":"https://www.wikidata.org/wiki/Q846651","display_name":"Multiprocessing","level":2,"score":0.21860450506210327},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.20631220936775208},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.17354890704154968},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.1653626561164856},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.15916481614112854},{"id":"https://openalex.org/C115961682","wikidata":"https://www.wikidata.org/wiki/Q860623","display_name":"Image (mathematics)","level":2,"score":0.1192350685596466},{"id":"https://openalex.org/C142362112","wikidata":"https://www.wikidata.org/wiki/Q735","display_name":"Art","level":0,"score":0.0},{"id":"https://openalex.org/C87717796","wikidata":"https://www.wikidata.org/wiki/Q146326","display_name":"Environmental engineering","level":1,"score":0.0},{"id":"https://openalex.org/C153349607","wikidata":"https://www.wikidata.org/wiki/Q36649","display_name":"Visual arts","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2601097.2601174","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2601097.2601174","pdf_url":null,"source":{"id":"https://openalex.org/S185367456","display_name":"ACM Transactions on Graphics","issn_l":"0730-0301","issn":["0730-0301","1557-7368"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Graphics","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.8999999761581421,"id":"https://metadata.un.org/sdg/7","display_name":"Affordable and clean energy"}],"awards":[{"id":"https://openalex.org/G4795234700","display_name":null,"funder_award_id":"HR0011-11-C-0007","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"}],"funders":[{"id":"https://openalex.org/F4320307102","display_name":"Intel Corporation","ror":"https://ror.org/01ek73717"},{"id":"https://openalex.org/F4320308507","display_name":"Stanford University","ror":"https://ror.org/00f54p054"},{"id":"https://openalex.org/F4320309327","display_name":"Google","ror":"https://ror.org/00njsd438"},{"id":"https://openalex.org/F4320309480","display_name":"Nvidia","ror":"https://ror.org/03jdj4y14"},{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"},{"id":"https://openalex.org/F4320337506","display_name":"Advanced Scientific Computing Research","ror":"https://ror.org/0012c7r22"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W567960075","https://openalex.org/W1565206031","https://openalex.org/W1860183717","https://openalex.org/W1964471912","https://openalex.org/W1968013322","https://openalex.org/W1979457157","https://openalex.org/W1989988531","https://openalex.org/W2013680239","https://openalex.org/W2035501710","https://openalex.org/W2036959650","https://openalex.org/W2039378765","https://openalex.org/W2055312318","https://openalex.org/W2087656024","https://openalex.org/W2095663349","https://openalex.org/W2109051991","https://openalex.org/W2111308925","https://openalex.org/W2118877769","https://openalex.org/W2120431055","https://openalex.org/W2132598718","https://openalex.org/W2140673616","https://openalex.org/W2145023731","https://openalex.org/W2153185479","https://openalex.org/W2154786353","https://openalex.org/W2165473669","https://openalex.org/W2169725869","https://openalex.org/W2170608748","https://openalex.org/W2179825846","https://openalex.org/W4242502357","https://openalex.org/W4285719527","https://openalex.org/W4290987481"],"related_works":["https://openalex.org/W2371602947","https://openalex.org/W2338801496","https://openalex.org/W2410849701","https://openalex.org/W2326466086","https://openalex.org/W42901636","https://openalex.org/W2394201700","https://openalex.org/W620896829","https://openalex.org/W2418970355","https://openalex.org/W3030316430","https://openalex.org/W3006526273"],"abstract_inverted_index":{"Specialized":[0],"image":[1,9,46,71],"signal":[2],"processors":[3],"(ISPs)":[4],"exploit":[5],"the":[6,17,76,104,187],"structure":[7],"of":[8,20,75,106,141,144,167,186,189,195,197],"processing":[10,47,182],"pipelines":[11,43,110],"to":[12,81,111],"minimize":[13,112],"memory":[14],"bandwidth":[15],"using":[16,183],"architectural":[18],"pattern":[19],"line-buffering":[21],",":[22],"where":[23],"all":[24,89],"intermediate":[25,90],"data":[26],"between":[27],"each":[28],"stage":[29],"is":[30],"stored":[31],"in":[32,48,57,92,163],"small":[33],"on-chip":[34],"buffers.":[35],"This":[36],"provides":[37],"high":[38],"energy":[39],"efficiency,":[40],"allowing":[41],"long":[42],"with":[44,88,99],"tera-op/sec.":[45],"battery-powered":[49],"devices,":[50],"but":[51],"traditionally":[52],"requires":[53],"painstaking":[54],"manual":[55],"design":[56],"hardware.":[58],"Based":[59],"on":[60,174,199],"this":[61],"pattern,":[62],"we":[63,159],"present":[64],"Darkroom,":[65],"a":[66,142,147,175,184,190,200],"language":[67,78],"and":[68,154,193],"compiler":[69],"for":[70,129],"processing.":[72],"The":[73],"semantics":[74],"Darkroom":[77,125,139],"allow":[79],"it":[80],"compile":[82],"programs":[83],"directly":[84],"into":[85],"line-buffered":[86,109],"pipelines,":[87],"values":[91],"local":[93],"line-buffer":[94],"storage,":[95],"eliminating":[96],"unnecessary":[97],"communication":[98],"off-chip":[100],"DRAM.":[101],"We":[102,137],"formulate":[103],"problem":[105],"optimally":[107,122],"scheduling":[108],"buffering":[113],"as":[114],"an":[115,121],"integer":[116],"linear":[117],"program.":[118],"Finally,":[119],"given":[120],"scheduled":[123],"pipeline,":[124,149],"synthesizes":[126],"hardware":[127],"descriptions":[128],"ASIC":[130,168],"or":[131,133],"FPGA,":[132,192],"fast":[134],"CPU":[135],"code.":[136],"evaluate":[138],"implementations":[140],"range":[143],"applications,":[145,158],"including":[146],"camera":[148],"low-level":[150],"feature":[151],"detection":[152],"algorithms,":[153],"deblurring.":[155],"For":[156],"many":[157],"demonstrate":[160],"gigapixel/sec.":[161],"performance":[162],"under":[164],"0.5mm":[165],"2":[166],"silicon":[169],"at":[170],"250":[171],"mW":[172],"(simulated":[173],"45nm":[176],"foundry":[177],"process),":[178],"real-time":[179],"1080p/60":[180],"video":[181],"fraction":[185],"resources":[188],"modern":[191],"tens":[194],"megapixels/sec.":[196],"throughput":[198],"quad-core":[201],"x86":[202],"processor.":[203]},"counts_by_year":[{"year":2026,"cited_by_count":3},{"year":2025,"cited_by_count":8},{"year":2024,"cited_by_count":8},{"year":2023,"cited_by_count":14},{"year":2022,"cited_by_count":14},{"year":2021,"cited_by_count":22},{"year":2020,"cited_by_count":17},{"year":2019,"cited_by_count":22},{"year":2018,"cited_by_count":23},{"year":2017,"cited_by_count":14},{"year":2016,"cited_by_count":17},{"year":2015,"cited_by_count":10},{"year":2014,"cited_by_count":2}],"updated_date":"2026-03-12T08:34:05.389933","created_date":"2016-06-24T00:00:00"}
