{"id":"https://openalex.org/W2030651184","doi":"https://doi.org/10.1109/fpt.2007.4439237","title":"A Domain Specific Language for Reconfigurable Path-based Monte Carlo Simulations","display_name":"A Domain Specific Language for Reconfigurable Path-based Monte Carlo Simulations","publication_year":2007,"publication_date":"2007-12-01","ids":{"openalex":"https://openalex.org/W2030651184","doi":"https://doi.org/10.1109/fpt.2007.4439237","mag":"2030651184"},"language":"en","primary_location":{"id":"doi:10.1109/fpt.2007.4439237","is_oa":false,"landing_page_url":"https://doi.org/10.1109/fpt.2007.4439237","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2007 International Conference on Field-Programmable Technology","raw_type":"proceedings-article"},"type":"conference-paper","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/A5081452934","display_name":"David B. Thomas","orcid":"https://orcid.org/0000-0002-9671-0917"},"institutions":[{"id":"https://openalex.org/I4210109636","display_name":"NIHR Imperial Biomedical Research Centre","ror":"https://ror.org/01kmhx639","country_code":"GB","type":"facility","lineage":["https://openalex.org/I34931013","https://openalex.org/I4210109636"]},{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"David B. Thomas","raw_affiliation_strings":["Imperial College London, UK","Imperial College London, #N#London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]},{"raw_affiliation_string":"Imperial College London, #N#London","institution_ids":["https://openalex.org/I47508984","https://openalex.org/I4210109636"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5057940557","display_name":"Wayne Luk","orcid":"https://orcid.org/0000-0002-6750-927X"},"institutions":[{"id":"https://openalex.org/I4210109636","display_name":"NIHR Imperial Biomedical Research Centre","ror":"https://ror.org/01kmhx639","country_code":"GB","type":"facility","lineage":["https://openalex.org/I34931013","https://openalex.org/I4210109636"]},{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Wayne Luk","raw_affiliation_strings":["Imperial College London, UK","Imperial College London, #N#London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]},{"raw_affiliation_string":"Imperial College London, #N#London","institution_ids":["https://openalex.org/I47508984","https://openalex.org/I4210109636"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":20,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"97","last_page":"104"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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.9998999834060669,"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.9998999834060669,"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/T11195","display_name":"Simulation Techniques and Applications","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/1803","display_name":"Management Science and Operations Research"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/toolchain","display_name":"Toolchain","score":0.8455231189727783},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8275750875473022},{"id":"https://openalex.org/keywords/monte-carlo-method","display_name":"Monte Carlo method","score":0.7075864672660828},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.6774112582206726},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6325313448905945},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.5554491281509399},{"id":"https://openalex.org/keywords/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.531514048576355},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.51148521900177},{"id":"https://openalex.org/keywords/computational-science","display_name":"Computational science","score":0.35886329412460327},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3341570794582367},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.21834251284599304},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.18708032369613647},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.13738414645195007}],"concepts":[{"id":"https://openalex.org/C2777062904","wikidata":"https://www.wikidata.org/wiki/Q545406","display_name":"Toolchain","level":3,"score":0.8455231189727783},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8275750875473022},{"id":"https://openalex.org/C19499675","wikidata":"https://www.wikidata.org/wiki/Q232207","display_name":"Monte Carlo method","level":2,"score":0.7075864672660828},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.6774112582206726},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6325313448905945},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.5554491281509399},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.531514048576355},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.51148521900177},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.35886329412460327},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3341570794582367},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.21834251284599304},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.18708032369613647},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.13738414645195007},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/fpt.2007.4439237","is_oa":false,"landing_page_url":"https://doi.org/10.1109/fpt.2007.4439237","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2007 International Conference on Field-Programmable Technology","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.149.4649","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.149.4649","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.doc.ic.ac.uk/~dt10/research/thomas-07-contessa-dsl.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.41999998688697815,"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":10,"referenced_works":["https://openalex.org/W1519695777","https://openalex.org/W1669949827","https://openalex.org/W2108089272","https://openalex.org/W2112432448","https://openalex.org/W2120577120","https://openalex.org/W2131540546","https://openalex.org/W2137690490","https://openalex.org/W2160892585","https://openalex.org/W3143275622","https://openalex.org/W6630971719"],"related_works":["https://openalex.org/W2013037783","https://openalex.org/W2909413202","https://openalex.org/W4385243142","https://openalex.org/W1999008563","https://openalex.org/W2561644314","https://openalex.org/W2794118724","https://openalex.org/W2912135124","https://openalex.org/W4206450104","https://openalex.org/W2883257033","https://openalex.org/W2265795076"],"abstract_inverted_index":{"FPGAs":[0],"have":[1],"been":[2],"successfully":[3],"used":[4],"to":[5,86,104,113,132],"accelerate":[6],"many":[7],"computationally":[8],"bound":[9],"applications,":[10],"such":[11],"as":[12],"high-performance":[13,64],"Monte-Carlo":[14,51,78],"simulations,":[15,52,79],"but":[16],"the":[17,70,123,129],"amount":[18],"of":[19,73,122,140],"programmer":[20],"effort":[21],"required":[22],"in":[23,77,102],"development,":[24],"testing,":[25],"and":[26,53,83,107,127,142],"tuning":[27],"is":[28,95],"also":[29,143],"very":[30],"high,":[31],"requiring":[32,136],"a":[33,44,54,120,137,145,150],"new":[34],"custom":[35],"design":[36],"for":[37,48,58],"each":[38],"application.":[39],"This":[40],"paper":[41],"presents":[42],"Contessa,":[43],"pure-functional":[45],"continuation-based":[46],"language":[47],"describing":[49],"path-based":[50],"completely":[55],"automated":[56],"method":[57],"turning":[59],"platform-independent":[60],"Contessa":[61,93,118],"programs":[62],"into":[63],"hardware":[65],"implementations.":[66],"Our":[67],"approach":[68],"exploits":[69],"large":[71],"degree":[72],"thread-based":[74],"parallelism":[75],"available":[76],"allowing":[80],"data-dependent":[81],"control-flow":[82],"loop-carried":[84],"dependencies":[85],"be":[87],"expressed,":[88],"while":[89,135],"retaining":[90],"high-performance.":[91],"The":[92],"toolchain":[94],"evaluated":[96],"using":[97,153],"five":[98],"different":[99],"simulation":[100],"kernels,":[101],"comparison":[103],"both":[105],"software":[106],"manually":[108],"described":[109],"hardware.":[110],"When":[111],"compared":[112],"an":[114,154],"existing":[115],"FPGA":[116],"implementation,":[117],"requires":[119],"quarter":[121],"Handel-C":[124],"source-code":[125],"length,":[126],"doubles":[128],"clock":[130],"rate":[131],"over":[133,149],"300MHz":[134],"similar":[138],"number":[139],"resources,":[141],"provides":[144],"35":[146],"times":[147],"speedup":[148],"C++":[151],"implementation":[152],"Opteron":[155],"2.2GHz.":[156]},"counts_by_year":[{"year":2020,"cited_by_count":4},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
