CINXE.COM

Hardware acceleration - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Hardware acceleration - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"d26fe97d-b9e5-4dc4-bbb4-35ac4b8b49f0","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Hardware_acceleration","wgTitle":"Hardware acceleration","wgCurRevisionId":1253212858,"wgRevisionId":1253212858,"wgArticleId":2031045,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Webarchive template wayback links","All articles with dead external links","Articles with dead external links from July 2022","Articles with short description","Short description is different from Wikidata","Articles needing additional references from September 2014","All articles needing additional references","Commons category link from Wikidata","Articles with example C code","Hardware acceleration","Application-specific integrated circuits", "Central processing unit","Computer optimization","Gate arrays","Graphics hardware"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Hardware_acceleration","wgRelevantArticleId":2031045,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false, "wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q600158","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.tablesorter.styles":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=[ "ext.cite.ux-enhancements","mediawiki.page.media","site","mediawiki.page.ready","jquery.tablesorter","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cjquery.tablesorter.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Sun-crypto-accelerator-1000.jpg/1200px-Sun-crypto-accelerator-1000.jpg"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Sun-crypto-accelerator-1000.jpg/800px-Sun-crypto-accelerator-1000.jpg"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="450"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Sun-crypto-accelerator-1000.jpg/640px-Sun-crypto-accelerator-1000.jpg"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="360"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Hardware acceleration - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Hardware_acceleration"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Hardware_acceleration&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Hardware_acceleration"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Hardware_acceleration rootpage-Hardware_acceleration skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Hardware+acceleration" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Hardware+acceleration" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Hardware+acceleration" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Hardware+acceleration" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Overview" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Overview"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Overview</span> </div> </a> <button aria-controls="toc-Overview-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Overview subsection</span> </button> <ul id="toc-Overview-sublist" class="vector-toc-list"> <li id="toc-Computational_equivalence_of_hardware_and_software" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Computational_equivalence_of_hardware_and_software"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Computational equivalence of hardware and software</span> </div> </a> <ul id="toc-Computational_equivalence_of_hardware_and_software-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Stored-program_computers" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Stored-program_computers"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Stored-program computers</span> </div> </a> <ul id="toc-Stored-program_computers-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Hardware_execution_units" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Hardware_execution_units"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span> <span>Hardware execution units</span> </div> </a> <ul id="toc-Hardware_execution_units-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Emerging_hardware_architectures" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Emerging_hardware_architectures"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.4</span> <span>Emerging hardware architectures</span> </div> </a> <ul id="toc-Emerging_hardware_architectures-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Implementation_metrics" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Implementation_metrics"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.5</span> <span>Implementation metrics</span> </div> </a> <ul id="toc-Implementation_metrics-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Applications" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Applications"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Applications</span> </div> </a> <ul id="toc-Applications-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Hardware_acceleration_units_by_application" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Hardware_acceleration_units_by_application"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Hardware acceleration units by application</span> </div> </a> <ul id="toc-Hardware_acceleration_units_by_application-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Hardware acceleration</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 23 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-23" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">23 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%AA%D8%B3%D8%B1%D9%8A%D8%B9_%D8%B9%D8%AA%D8%A7%D8%AF_%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8" title="تسريع عتاد الحاسوب – Arabic" lang="ar" hreflang="ar" data-title="تسريع عتاد الحاسوب" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Cihaz%C4%B1n_s%C3%BCr%C9%99tl%C9%99ndirilm%C9%99si" title="Cihazın sürətləndirilməsi – Azerbaijani" lang="az" hreflang="az" data-title="Cihazın sürətləndirilməsi" data-language-autonym="Azərbaycanca" data-language-local-name="Azerbaijani" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Acceleraci%C3%B3_per_maquinari" title="Acceleració per maquinari – Catalan" lang="ca" hreflang="ca" data-title="Acceleració per maquinari" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Hardwarov%C3%A1_akcelerace" title="Hardwarová akcelerace – Czech" lang="cs" hreflang="cs" data-title="Hardwarová akcelerace" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Hardwarebeschleunigung" title="Hardwarebeschleunigung – German" lang="de" hreflang="de" data-title="Hardwarebeschleunigung" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Riistvaraline_kiirendamine" title="Riistvaraline kiirendamine – Estonian" lang="et" hreflang="et" data-title="Riistvaraline kiirendamine" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Aceleraci%C3%B3n_por_hardware" title="Aceleración por hardware – Spanish" lang="es" hreflang="es" data-title="Aceleración por hardware" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Hardware_bidezko_azelerazio" title="Hardware bidezko azelerazio – Basque" lang="eu" hreflang="eu" data-title="Hardware bidezko azelerazio" data-language-autonym="Euskara" data-language-local-name="Basque" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%B4%D8%AA%D8%A7%D8%A8%E2%80%8C%D8%AF%D9%87%D9%86%D8%AF%D9%87_%D8%B3%D8%AE%D8%AA%E2%80%8C%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%DB%8C" title="شتاب‌دهنده سخت‌افزاری – Persian" lang="fa" hreflang="fa" data-title="شتاب‌دهنده سخت‌افزاری" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Acc%C3%A9l%C3%A9ration_mat%C3%A9rielle" title="Accélération matérielle – French" lang="fr" hreflang="fr" data-title="Accélération matérielle" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/Aceleraci%C3%B3n_por_hardware" title="Aceleración por hardware – Galician" lang="gl" hreflang="gl" data-title="Aceleración por hardware" data-language-autonym="Galego" data-language-local-name="Galician" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%ED%95%98%EB%93%9C%EC%9B%A8%EC%96%B4_%EA%B0%80%EC%86%8D" title="하드웨어 가속 – Korean" lang="ko" hreflang="ko" data-title="하드웨어 가속" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Akselerasi_perangkat_keras" title="Akselerasi perangkat keras – Indonesian" lang="id" hreflang="id" data-title="Akselerasi perangkat keras" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Acceleratore_(informatica)" title="Acceleratore (informatica) – Italian" lang="it" hreflang="it" data-title="Acceleratore (informatica)" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Hardwareacceleratie" title="Hardwareacceleratie – Dutch" lang="nl" hreflang="nl" data-title="Hardwareacceleratie" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%A2%E3%82%AF%E3%82%BB%E3%83%A9%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3" title="ハードウェアアクセラレーション – Japanese" lang="ja" hreflang="ja" data-title="ハードウェアアクセラレーション" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%90%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D0%BD%D0%BE%D0%B5_%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D0%B5" title="Аппаратное ускорение – Russian" lang="ru" hreflang="ru" data-title="Аппаратное ускорение" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-si mw-list-item"><a href="https://si.wikipedia.org/wiki/%E0%B6%AF%E0%B7%98%E0%B6%A9%E0%B7%8F%E0%B6%82%E0%B6%9C_%E0%B6%AD%E0%B7%8A%E0%B7%80%E0%B6%BB%E0%B6%AB%E0%B6%BA" title="දෘඩාංග ත්වරණය – Sinhala" lang="si" hreflang="si" data-title="දෘඩාංග ත්වරණය" data-language-autonym="සිංහල" data-language-local-name="Sinhala" class="interlanguage-link-target"><span>සිංහල</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%A5%D0%B0%D1%80%D0%B4%D0%B2%D0%B5%D1%80%D1%81%D0%BA%D0%BE_%D1%83%D0%B1%D1%80%D0%B7%D0%B0%D1%9A%D0%B5" title="Хардверско убрзање – Serbian" lang="sr" hreflang="sr" data-title="Хардверско убрзање" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Laitteistokiihdytys" title="Laitteistokiihdytys – Finnish" lang="fi" hreflang="fi" data-title="Laitteistokiihdytys" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/H%C3%A5rdvaruacceleration" title="Hårdvaruacceleration – Swedish" lang="sv" hreflang="sv" data-title="Hårdvaruacceleration" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%90%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D0%BD%D0%B5_%D0%BF%D1%80%D0%B8%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F" title="Апаратне прискорення – Ukrainian" lang="uk" hreflang="uk" data-title="Апаратне прискорення" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E7%A1%AC%E4%BB%B6%E5%8A%A0%E9%80%9F" title="硬件加速 – Chinese" lang="zh" hreflang="zh" data-title="硬件加速" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q600158#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Hardware_acceleration" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Hardware_acceleration" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Hardware_acceleration"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Hardware_acceleration&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Hardware_acceleration"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Hardware_acceleration&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Hardware_acceleration" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Hardware_acceleration" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Hardware_acceleration&amp;oldid=1253212858" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Hardware_acceleration&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Hardware_acceleration&amp;id=1253212858&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHardware_acceleration"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHardware_acceleration"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Hardware_acceleration&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Hardware_acceleration&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Hardware_acceleration" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q600158" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">For hardware accelerators in startup companies, see <a href="/wiki/Seed_accelerator" class="mw-redirect" title="Seed accelerator">Seed accelerator</a>.</div> <div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Specialized computer hardware</div> <style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><table class="box-More_citations_needed plainlinks metadata ambox ambox-content ambox-Refimprove" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><a href="/wiki/File:Question_book-new.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png" decoding="async" width="50" height="39" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/75px-Question_book-new.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/100px-Question_book-new.svg.png 2x" data-file-width="512" data-file-height="399" /></a></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article <b>needs additional citations for <a href="/wiki/Wikipedia:Verifiability" title="Wikipedia:Verifiability">verification</a></b>.<span class="hide-when-compact"> Please help <a href="/wiki/Special:EditPage/Hardware_acceleration" title="Special:EditPage/Hardware acceleration">improve this article</a> by <a href="/wiki/Help:Referencing_for_beginners" title="Help:Referencing for beginners">adding citations to reliable sources</a>. Unsourced material may be challenged and removed.<br /><small><span class="plainlinks"><i>Find sources:</i>&#160;<a rel="nofollow" class="external text" href="https://www.google.com/search?as_eq=wikipedia&amp;q=%22Hardware+acceleration%22">"Hardware acceleration"</a>&#160;–&#160;<a rel="nofollow" class="external text" href="https://www.google.com/search?tbm=nws&amp;q=%22Hardware+acceleration%22+-wikipedia&amp;tbs=ar:1">news</a>&#160;<b>·</b> <a rel="nofollow" class="external text" href="https://www.google.com/search?&amp;q=%22Hardware+acceleration%22&amp;tbs=bkt:s&amp;tbm=bks">newspapers</a>&#160;<b>·</b> <a rel="nofollow" class="external text" href="https://www.google.com/search?tbs=bks:1&amp;q=%22Hardware+acceleration%22+-wikipedia">books</a>&#160;<b>·</b> <a rel="nofollow" class="external text" href="https://scholar.google.com/scholar?q=%22Hardware+acceleration%22">scholar</a>&#160;<b>·</b> <a rel="nofollow" class="external text" href="https://www.jstor.org/action/doBasicSearch?Query=%22Hardware+acceleration%22&amp;acc=on&amp;wc=on">JSTOR</a></span></small></span> <span class="date-container"><i>(<span class="date">September 2014</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Sun-crypto-accelerator-1000.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/7/74/Sun-crypto-accelerator-1000.jpg/220px-Sun-crypto-accelerator-1000.jpg" decoding="async" width="220" height="124" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/74/Sun-crypto-accelerator-1000.jpg/330px-Sun-crypto-accelerator-1000.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/74/Sun-crypto-accelerator-1000.jpg/440px-Sun-crypto-accelerator-1000.jpg 2x" data-file-width="2907" data-file-height="1635" /></a><figcaption>A <a href="/wiki/Cryptographic_accelerator" title="Cryptographic accelerator">cryptographic accelerator</a> card allows cryptographic operations to be performed at a faster rate.</figcaption></figure> <p><b>Hardware acceleration</b> is the use of <a href="/wiki/Computer_hardware" title="Computer hardware">computer hardware</a> designed to perform specific functions more efficiently when compared to <a href="/wiki/Software" title="Software">software</a> running on a general-purpose <a href="/wiki/Central_processing_unit" title="Central processing unit">central processing unit</a> (CPU). Any <a href="/wiki/Function_(mathematics)" title="Function (mathematics)">transformation</a> of <a href="/wiki/Data_(computing)" class="mw-redirect" title="Data (computing)">data</a> that can be calculated in software running on a generic CPU can also be calculated in custom-made hardware, or in some mix of both. </p><p>To perform computing tasks more efficiently, generally one can invest time and money in improving the software, improving the hardware, or both. There are various approaches with advantages and disadvantages in terms of decreased <a href="/wiki/Latency_(engineering)" title="Latency (engineering)">latency</a>, increased <a href="/wiki/Throughput#Integrated_Circuits" class="mw-redirect" title="Throughput">throughput</a>, and reduced <a href="/wiki/Performance_per_watt" title="Performance per watt">energy consumption</a>. Typical advantages of focusing on software may include greater versatility, more rapid <a href="/wiki/Software_development_process" title="Software development process">development</a>, lower <a href="/wiki/Non-recurring_engineering" title="Non-recurring engineering">non-recurring engineering</a> costs, heightened <a href="/wiki/Software_portability" title="Software portability">portability</a>, and ease of <a href="/wiki/Software_release_life_cycle" title="Software release life cycle">updating features</a> or <a href="/wiki/Patch_(computing)" title="Patch (computing)">patching</a> <a href="/wiki/Software_bug" title="Software bug">bugs</a>, at the cost of <a href="/wiki/Overhead_(computing)" title="Overhead (computing)">overhead</a> to compute general operations. Advantages of focusing on hardware may include <a href="/wiki/Speedup" title="Speedup">speedup</a>, reduced <a href="/wiki/Electric_energy_consumption" title="Electric energy consumption">power consumption</a>,<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> lower latency, increased <a href="/wiki/Parallel_computing" title="Parallel computing">parallelism</a><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> and <a href="/wiki/Bandwidth_(computing)" title="Bandwidth (computing)">bandwidth</a>, and <a href="/wiki/Circuit_underutilization" title="Circuit underutilization">better utilization</a> of area and <a href="/wiki/Execution_unit" title="Execution unit">functional components</a> available on an <a href="/wiki/Integrated_circuit" title="Integrated circuit">integrated circuit</a>; at the cost of lower ability to update designs once <a href="/wiki/Semiconductor_device_fabrication" title="Semiconductor device fabrication">etched onto silicon</a> and higher costs of <a href="/wiki/Functional_verification" title="Functional verification">functional verification</a>, times to market, and the need for more parts. In the hierarchy of digital computing systems ranging from general-purpose processors to <a href="/wiki/Full_custom" title="Full custom">fully customized</a> hardware, there is a tradeoff between flexibility and efficiency, with efficiency increasing by <a href="/wiki/Computer_performance_by_orders_of_magnitude" title="Computer performance by orders of magnitude">orders of magnitude</a> when any given application is implemented higher up that hierarchy.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> This hierarchy includes general-purpose processors such as CPUs,<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> more specialized processors such as programmable <a href="/wiki/Shader" title="Shader">shaders</a> in a <a href="/wiki/Graphics_processing_unit" title="Graphics processing unit">GPU</a>,<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Fixed-function" title="Fixed-function">fixed-function</a> implemented on <a href="/wiki/Field-programmable_gate_array" title="Field-programmable gate array">field-programmable gate arrays</a> (FPGAs),<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> and fixed-function implemented on <a href="/wiki/Application-specific_integrated_circuit" title="Application-specific integrated circuit">application-specific integrated circuits</a> (ASICs).<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup> </p><p>Hardware acceleration is advantageous for <a href="/wiki/Computer_performance" title="Computer performance">performance</a>, and practical when the functions are fixed, so updates are not as needed as in software solutions. With the advent of <a href="/wiki/Reconfigurable_computing" title="Reconfigurable computing">reprogrammable</a> <a href="/wiki/Programmable_logic_device" title="Programmable logic device">logic devices</a> such as FPGAs, the restriction of hardware acceleration to fully fixed algorithms has eased since 2010, allowing hardware acceleration to be applied to problem domains requiring modification to algorithms and processing <a href="/wiki/Control_flow" title="Control flow">control flow</a>.<sup id="cite_ref-BingFPGA_8-0" class="reference"><a href="#cite_note-BingFPGA-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-ProjCatapult_9-0" class="reference"><a href="#cite_note-ProjCatapult-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> The disadvantage, however, is that in many open source projects, it requires proprietary libraries that not all vendors are keen to distribute or expose, making it difficult to integrate in such projects. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Overview">Overview</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit&amp;section=1" title="Edit section: Overview"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Integrated_circuit" title="Integrated circuit">Integrated circuits</a> are designed to handle various operations on both analog and digital signals. In computing, digital signals are the most common and are typically represented as binary numbers. <a href="/wiki/Computer_hardware" title="Computer hardware">Computer hardware</a> and software use this <a href="/wiki/Binary_representation" class="mw-redirect" title="Binary representation">binary representation</a> to perform computations. This is done by processing <a href="/wiki/Boolean_function" title="Boolean function">Boolean functions</a> on the binary input, and then outputting the results for storage or further processing by other devices. </p> <div class="mw-heading mw-heading3"><h3 id="Computational_equivalence_of_hardware_and_software">Computational equivalence of hardware and software</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit&amp;section=2" title="Edit section: Computational equivalence of hardware and software"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Because all <a href="/wiki/Turing_machine" title="Turing machine">Turing machines</a> can run any <a href="/wiki/Computable_function" title="Computable function">computable function</a>, it is always possible to design custom hardware that performs the same function as a given piece of software. Conversely, software can always be used to emulate the function of a given piece of hardware. Custom hardware may offer higher performance per watt for the same functions that can be specified in software. <a href="/wiki/Hardware_description_language" title="Hardware description language">Hardware description languages</a> (HDLs) such as <a href="/wiki/Verilog" title="Verilog">Verilog</a> and <a href="/wiki/VHDL" title="VHDL">VHDL</a> can model the same <a href="/wiki/Semantics_(computer_science)" title="Semantics (computer science)">semantics</a> as software and <a href="/wiki/Logic_synthesis" title="Logic synthesis">synthesize</a> the design into a <a href="/wiki/Netlist" title="Netlist">netlist</a> that can be programmed to an FPGA or composed into the <a href="/wiki/Logic_gate" title="Logic gate">logic gates</a> of an ASIC. </p> <div class="mw-heading mw-heading3"><h3 id="Stored-program_computers">Stored-program computers</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit&amp;section=3" title="Edit section: Stored-program computers"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The vast majority of software-based computing occurs on machines implementing the <a href="/wiki/Von_Neumann_architecture" title="Von Neumann architecture">von Neumann architecture</a>, collectively known as <a href="/wiki/Stored-program_computer" title="Stored-program computer">stored-program computers</a>. <a href="/wiki/Computer_program" title="Computer program">Computer programs</a> are stored as data and <a href="/wiki/Execution_(computing)" title="Execution (computing)">executed</a> by <a href="/wiki/Processor_(computing)" title="Processor (computing)">processors</a>. Such processors must fetch and decode instructions, as well as <a href="/wiki/Load%E2%80%93store_architecture" title="Load–store architecture">load data operands</a> from <a href="/wiki/Computer_memory" title="Computer memory">memory</a> (as part of the <a href="/wiki/Instruction_cycle" title="Instruction cycle">instruction cycle</a>), to execute the instructions constituting the software program. Relying on a common <a href="/wiki/CPU_cache" title="CPU cache">cache</a> for code and data leads to the "von Neumann bottleneck", a fundamental limitation on the throughput of software on processors implementing the von Neumann architecture. Even in the <a href="/wiki/Modified_Harvard_architecture" title="Modified Harvard architecture">modified Harvard architecture</a>, where instructions and data have separate caches in the <a href="/wiki/Memory_hierarchy" title="Memory hierarchy">memory hierarchy</a>, there is overhead to decoding instruction <a href="/wiki/Opcode" title="Opcode">opcodes</a> and <a href="/wiki/Multiplexer" title="Multiplexer">multiplexing</a> available <a href="/wiki/Execution_unit" title="Execution unit">execution units</a> on a <a href="/wiki/Microprocessor" title="Microprocessor">microprocessor</a> or <a href="/wiki/Microcontroller" title="Microcontroller">microcontroller</a>, leading to low circuit utilization. Modern processors that provide <a href="/wiki/Simultaneous_multithreading" title="Simultaneous multithreading">simultaneous multithreading</a> exploit under-utilization of available processor functional units and <a href="/wiki/Instruction-level_parallelism" title="Instruction-level parallelism">instruction level parallelism</a> between different hardware threads. </p> <div class="mw-heading mw-heading3"><h3 id="Hardware_execution_units">Hardware execution units</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit&amp;section=4" title="Edit section: Hardware execution units"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Hardware execution units do not in general rely on the von Neumann or modified Harvard architectures and do not need to perform the instruction fetch and decode steps of an <a href="/wiki/Instruction_cycle" title="Instruction cycle">instruction cycle</a> and incur those stages' overhead. If needed calculations are specified in a <a href="/wiki/Register-transfer_level" title="Register-transfer level">register transfer level</a> (RTL) hardware design, the time and circuit area costs that would be incurred by instruction fetch and decoding stages can be reclaimed and put to other uses. </p><p>This reclamation saves time, power, and circuit area in computation. The reclaimed resources can be used for increased parallel computation, other functions, communication, or memory, as well as increased <a href="/wiki/Input/output" title="Input/output">input/output</a> capabilities. This comes at the cost of general-purpose utility. </p> <div class="mw-heading mw-heading3"><h3 id="Emerging_hardware_architectures">Emerging hardware architectures</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit&amp;section=5" title="Edit section: Emerging hardware architectures"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Greater RTL customization of hardware designs allows emerging architectures such as <a href="/wiki/In-memory_processing" title="In-memory processing">in-memory computing</a>, <a href="/wiki/Transport_triggered_architecture" title="Transport triggered architecture">transport triggered architectures</a> (TTA) and <a href="/wiki/Network_on_a_chip" title="Network on a chip">networks-on-chip</a> (NoC) to further benefit from increased <a href="/wiki/Locality_of_reference" title="Locality of reference">locality</a> of data to execution context, thereby reducing computing and communication latency between modules and functional units. </p><p>Custom hardware is limited in parallel processing capability only by the area and <a href="/wiki/Logic_block" title="Logic block">logic blocks</a> available on the <a href="/wiki/Die_(integrated_circuit)" title="Die (integrated circuit)">integrated circuit die</a>.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> Therefore, hardware is much more free to offer <a href="/wiki/Massively_parallel" title="Massively parallel">massive parallelism</a> than software on general-purpose processors, offering a possibility of implementing the <a href="/wiki/Parallel_RAM" title="Parallel RAM">parallel random-access machine</a> (PRAM) model. </p><p>It is common to build <a href="/wiki/Multi-core_processor" title="Multi-core processor">multicore</a> and <a href="/wiki/Manycore_processor" title="Manycore processor">manycore</a> processing units out of <a href="/wiki/Soft_microprocessor" title="Soft microprocessor">microprocessor IP core schematics</a> on a single FPGA or ASIC.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> Similarly, specialized functional units can be composed in parallel, as <a href="/wiki/Parallel_processing_(DSP_implementation)" title="Parallel processing (DSP implementation)">in digital signal processing</a>, without being embedded in a processor <a href="/wiki/Semiconductor_intellectual_property_core" title="Semiconductor intellectual property core">IP core</a>. Therefore, hardware acceleration is often employed for repetitive, fixed tasks involving little <a href="/wiki/Conditional_(computer_programming)" title="Conditional (computer programming)">conditional branching</a>, especially on large amounts of data. This is how <a href="/wiki/Nvidia" title="Nvidia">Nvidia</a>'s <a href="/wiki/CUDA" title="CUDA">CUDA</a> line of GPUs are implemented. </p> <div class="mw-heading mw-heading3"><h3 id="Implementation_metrics">Implementation metrics</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit&amp;section=6" title="Edit section: Implementation metrics"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>As device mobility has increased, new metrics have been developed that measure the relative performance of specific acceleration protocols, considering characteristics such as physical hardware dimensions, power consumption, and operations throughput. These can be summarized into three categories: task efficiency, implementation efficiency, and flexibility. Appropriate metrics consider the area of the hardware along with both the corresponding operations throughput and energy consumed.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Applications">Applications</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit&amp;section=7" title="Edit section: Applications"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Examples of hardware acceleration include <a href="/wiki/Bit_blit" title="Bit blit">bit blit</a> acceleration functionality in graphics processing units (GPUs), use of <a href="/wiki/Memristor" title="Memristor">memristors</a> for accelerating <a href="/wiki/Artificial_neural_network" class="mw-redirect" title="Artificial neural network">neural networks</a>, and <a href="/wiki/Regular_expression" title="Regular expression">regular expression</a> hardware acceleration for <a href="/wiki/Anti-spam_techniques" title="Anti-spam techniques">spam control</a> in the <a href="/wiki/Server_(computing)" title="Server (computing)">server</a> industry, intended to prevent <a href="/wiki/ReDoS" title="ReDoS">regular expression denial of service</a> (ReDoS) attacks.<sup id="cite_ref-wellho_17-0" class="reference"><a href="#cite_note-wellho-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup> The hardware that performs the acceleration may be part of a general-purpose CPU, or a separate unit called a hardware accelerator, though they are usually referred to with a more specific term, such as 3D accelerator, or <a href="/wiki/Cryptographic_accelerator" title="Cryptographic accelerator">cryptographic accelerator</a>. </p><p>Traditionally, processors were sequential (instructions are executed one by one), and were designed to run general purpose algorithms controlled by <a href="/wiki/Instruction_fetch" class="mw-redirect" title="Instruction fetch">instruction fetch</a> (for example, moving temporary results <a href="/wiki/Load/store_architecture" class="mw-redirect" title="Load/store architecture">to and from</a> a <a href="/wiki/Register_file" title="Register file">register file</a>). Hardware accelerators improve the execution of a specific algorithm by allowing greater <a href="/wiki/Concurrency_(computer_science)" title="Concurrency (computer science)">concurrency</a>, having specific <a href="/wiki/Datapath" title="Datapath">datapaths</a> for their <a href="/wiki/Temporary_variable" title="Temporary variable">temporary variables</a>, and reducing the overhead of instruction control in the fetch-decode-execute cycle. </p><p>Modern processors are <a href="/wiki/Multi-core_processor" title="Multi-core processor">multi-core</a> and often feature parallel "single-instruction; multiple data" (<a href="/wiki/Single_instruction,_multiple_data" title="Single instruction, multiple data">SIMD</a>) units. Even so, hardware acceleration still yields benefits. Hardware acceleration is suitable for any computation-intensive algorithm which is executed frequently in a task or program. Depending upon the granularity, hardware acceleration can vary from a small functional unit, to a large functional block (like <a href="/wiki/Motion_estimation" title="Motion estimation">motion estimation</a> in <a href="/wiki/MPEG-2" title="MPEG-2">MPEG-2</a>). </p> <div class="mw-heading mw-heading2"><h2 id="Hardware_acceleration_units_by_application">Hardware acceleration units by application</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit&amp;section=8" title="Edit section: Hardware acceleration units by application"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <table class="wikitable sortable mw-collapsible mw-collapsed"> <caption> </caption> <tbody><tr> <th>Application </th> <th>Hardware accelerator </th> <th>Acronym </th></tr> <tr> <td> </td> <td> </td> <td> </td></tr> <tr> <td><a href="/wiki/Computer_graphics" title="Computer graphics">Computer graphics</a> <ul><li>General-purpose computing</li> <li>GP computing, on Nvidia graphics cards</li> <li><a href="/wiki/Ray_tracing_(graphics)" title="Ray tracing (graphics)">Ray tracing</a></li> <li><a href="/wiki/Video_codec" title="Video codec">Video codec</a></li></ul> </td> <td>Graphics processing unit <ul><li><a href="/wiki/General-purpose_computing_on_graphics_processing_units" title="General-purpose computing on graphics processing units">General-purpose computing on GPU</a></li> <li><a href="/wiki/CUDA" title="CUDA">CUDA</a> architecture</li> <li><a href="/wiki/Ray-tracing_hardware" title="Ray-tracing hardware">Ray-tracing hardware</a></li> <li>Various <a href="/wiki/Category:Video_acceleration" title="Category:Video acceleration">video acceleration hardware</a></li></ul> </td> <td>GPU <ul><li>GPGPU</li> <li>CUDA</li> <li>RTX</li> <li>N/A</li></ul> </td></tr> <tr> <td> </td> <td> </td> <td> </td></tr> <tr> <td><a href="/wiki/Digital_signal_processing" title="Digital signal processing">Digital signal processing</a> </td> <td><a href="/wiki/Digital_signal_processor" title="Digital signal processor">Digital signal processor</a> </td> <td>DSP </td></tr> <tr> <td><a href="/wiki/Analog_signal_processing" title="Analog signal processing">Analog signal processing</a> </td> <td><a href="/wiki/Field-programmable_analog_array" title="Field-programmable analog array">Field-programmable analog array</a> <ul><li><a href="/wiki/Field-programmable_RF" title="Field-programmable RF">Field-programmable RF</a></li></ul> </td> <td>FPAA <ul><li>FPRF</li></ul> </td></tr> <tr> <td><a href="/wiki/Audio_signal_processing" title="Audio signal processing">Sound processing</a> </td> <td><a href="/wiki/Sound_card" title="Sound card">Sound card</a> and <a href="/wiki/Sound_card_mixer" title="Sound card mixer">sound card mixer</a> </td> <td>N/A </td></tr> <tr> <td><a href="/wiki/Computer_network" title="Computer network">Computer networking</a> <ul><li><a href="/wiki/System_on_a_chip" title="System on a chip">on a chip</a></li> <li><a href="/wiki/Transmission_Control_Protocol" title="Transmission Control Protocol">TCP</a></li> <li>Input/output</li></ul> </td> <td><a href="/wiki/Network_processor" title="Network processor">Network processor</a> and <a href="/wiki/Network_interface_controller" title="Network interface controller">network interface controller</a> <ul><li><a href="/wiki/Network_on_a_chip" title="Network on a chip">Network on a chip</a></li> <li><a href="/wiki/TCP_offload_engine" title="TCP offload engine">TCP offload engine</a></li> <li><a href="/wiki/I/O_Acceleration_Technology" title="I/O Acceleration Technology">I/O Acceleration Technology</a></li></ul> </td> <td>NPU and NIC <ul><li>NoC</li> <li>TCPOE or TOE</li> <li>I/OAT or IOAT</li></ul> </td></tr> <tr> <td><a href="/wiki/Cryptography" title="Cryptography">Cryptography</a> <ul><li><a href="/wiki/Encryption" title="Encryption">Encryption</a> <ul><li><a href="/wiki/Instruction_set_architecture" title="Instruction set architecture">ISA</a></li> <li><a href="/wiki/Transport_Layer_Security" title="Transport Layer Security">SSL/TLS</a></li></ul></li> <li><a href="/wiki/Cryptanalysis" title="Cryptanalysis">Attack</a></li> <li><a href="/wiki/Random_number_generation" title="Random number generation">Random number generation</a></li></ul> </td> <td><a href="/wiki/Cryptographic_accelerator" title="Cryptographic accelerator">Cryptographic accelerator</a> and <a href="/wiki/Secure_cryptoprocessor" title="Secure cryptoprocessor">secure cryptoprocessor</a> <ul><li><a href="/wiki/Hardware-based_encryption" title="Hardware-based encryption">Hardware-based encryption</a> <ul><li><a href="/wiki/AES_instruction_set" title="AES instruction set">AES instruction set</a></li> <li><a href="/wiki/TLS_acceleration" title="TLS acceleration">SSL acceleration</a></li></ul></li> <li><a href="/wiki/Custom_hardware_attack" title="Custom hardware attack">Custom hardware attack</a></li> <li><a href="/wiki/Hardware_random_number_generator" title="Hardware random number generator">Hardware random number generator</a></li></ul> </td> <td>N/A </td></tr> <tr> <td><a href="/wiki/Artificial_intelligence" title="Artificial intelligence">Artificial intelligence</a> <ul><li><a href="/wiki/Machine_vision" title="Machine vision">Machine vision</a>/<a href="/wiki/Computer_vision" title="Computer vision">computer vision</a></li> <li><a href="/wiki/Artificial_neural_network" class="mw-redirect" title="Artificial neural network">Neural networks</a></li> <li><a href="/wiki/Brain_simulation" title="Brain simulation">Brain simulation</a></li></ul> </td> <td><a href="/wiki/AI_accelerator" title="AI accelerator">AI accelerator</a> <ul><li><a href="/wiki/Vision_processing_unit" title="Vision processing unit">Vision processing unit</a></li> <li><a href="/wiki/Physical_neural_network" title="Physical neural network">Physical neural network</a></li> <li><a href="/wiki/Neuromorphic_engineering" class="mw-redirect" title="Neuromorphic engineering">Neuromorphic engineering</a></li></ul> </td> <td>N/A <ul><li>VPU</li> <li>PNN</li> <li>N/A</li></ul> </td></tr> <tr> <td><a href="/wiki/Multilinear_algebra" title="Multilinear algebra">Multilinear algebra</a> </td> <td><a href="/wiki/Tensor_Processing_Unit" title="Tensor Processing Unit">Tensor processing unit</a> </td> <td>TPU </td></tr> <tr> <td><a href="/wiki/Computational_physics" title="Computational physics">Physics simulation</a> </td> <td><a href="/wiki/Physics_processing_unit" title="Physics processing unit">Physics processing unit</a> </td> <td>PPU </td></tr> <tr> <td><a href="/wiki/Regular_expression" title="Regular expression">Regular expressions</a><sup id="cite_ref-wellho_17-1" class="reference"><a href="#cite_note-wellho-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup> </td> <td>Regular expression coprocessor </td> <td>N/A </td></tr> <tr> <td><a href="/wiki/Data_compression" title="Data compression">Data compression</a><sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup> </td> <td>Data compression accelerator </td> <td>N/A </td></tr> <tr> <td>In-memory processing </td> <td>Network on a chip and <a href="/wiki/Systolic_array" title="Systolic array">Systolic array</a> </td> <td>NoC; N/A </td></tr> <tr> <td><a href="/wiki/Data_processing" title="Data processing">Data processing</a> </td> <td><a href="/wiki/Data_processing_unit" title="Data processing unit">Data processing unit</a> </td> <td>DPU </td></tr> <tr> <td>Any computing task </td> <td>Computer hardware <ul><li>Field-programmable gate arrays<sup id="cite_ref-Farabet_19-0" class="reference"><a href="#cite_note-Farabet-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup></li> <li>Application-specific integrated circuits<sup id="cite_ref-Farabet_19-1" class="reference"><a href="#cite_note-Farabet-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Complex_programmable_logic_device" title="Complex programmable logic device">Complex programmable logic devices</a></li> <li>Systems-on-Chip <ul><li><a href="/wiki/Multiprocessor_system_on_a_chip" class="mw-redirect" title="Multiprocessor system on a chip">Multi-processor system-on-chip</a></li> <li><a href="/wiki/Programmable_system-on-chip" class="mw-redirect" title="Programmable system-on-chip">Programmable system-on-chip</a></li></ul></li></ul> </td> <td>HW (sometimes) <ul><li>FPGA</li> <li>ASIC</li> <li>CPLD</li> <li>SoC <ul><li>MPSoC</li> <li>PSoC</li></ul></li></ul> </td></tr></tbody></table> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit&amp;section=9" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Coprocessor" title="Coprocessor">Coprocessor</a></li> <li><a href="/wiki/DirectX_Video_Acceleration" title="DirectX Video Acceleration">DirectX Video Acceleration</a> (DXVA)</li> <li><a href="/wiki/Direct_memory_access" title="Direct memory access">Direct memory access</a> (DMA)</li> <li><a href="/wiki/High-level_synthesis" title="High-level synthesis">High-level synthesis</a> <ul><li><a href="/wiki/C_to_HDL" title="C to HDL">C to HDL</a></li> <li><a href="/wiki/Flow_to_HDL" title="Flow to HDL">Flow to HDL</a></li></ul></li> <li><a href="/wiki/Soft_microprocessor" title="Soft microprocessor">Soft microprocessor</a></li> <li><a href="/wiki/Flynn%27s_taxonomy" title="Flynn&#39;s taxonomy">Flynn's taxonomy</a> of parallel <a href="/wiki/Computer_architecture" title="Computer architecture">computer architectures</a> <ul><li><a href="/wiki/Single_instruction,_multiple_data" title="Single instruction, multiple data">Single instruction, multiple data</a> (SIMD)</li> <li><a href="/wiki/Single_instruction,_multiple_threads" title="Single instruction, multiple threads">Single instruction, multiple threads</a> (SIMT)</li> <li><a href="/wiki/Multiple_instruction,_multiple_data" title="Multiple instruction, multiple data">Multiple instructions, multiple data</a> (MIMD)</li></ul></li> <li><a href="/wiki/Computer_for_operations_with_functions" title="Computer for operations with functions">Computer for operations with functions</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit&amp;section=10" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-columns references-column-width reflist-columns-2"> <ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite class="citation magazine cs1"><a rel="nofollow" class="external text" href="https://www.wired.com/2014/06/microsoft-fpga/">"Microsoft Supercharges Bing Search With Programmable Chips"</a>. <i>WIRED</i>. 16 June 2014.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=WIRED&amp;rft.atitle=Microsoft+Supercharges+Bing+Search+With+Programmable+Chips&amp;rft.date=2014-06-16&amp;rft_id=https%3A%2F%2Fwww.wired.com%2F2014%2F06%2Fmicrosoft-fpga%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20071008163016/http://www.embedded.com/columns/showArticle.jhtml?articleID=192700615">"Embedded"</a>. Archived from <a rel="nofollow" class="external text" href="https://www.embedded.com/columns/showArticle.jhtml?articleID=192700615">the original</a> on 2007-10-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Embedded&amp;rft_id=http%3A%2F%2Fwww.embedded.com%2Fcolumns%2FshowArticle.jhtml%3FarticleID%3D192700615&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span> "FPGA Architectures from 'A' to 'Z'" by Clive Maxfield 2006</span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSinanMahmut2019" class="citation book cs1">Sinan, Kufeoglu; Mahmut, Ozkuran (2019). <a rel="nofollow" class="external text" href="https://www.researchgate.net/figure/CPU-GPU-FPGA-and-ASIC-minimum-energy-consumption-between-difficulty-recalculation_fig5_337886683">"Figure 5. CPU, GPU, FPGA, and ASIC minimum energy consumption between difficulty recalculation."</a>. <i>Energy Consumption of Bitcoin Mining</i>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.17863%2FCAM.41230">10.17863/CAM.41230</a></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Figure+5.+CPU%2C+GPU%2C+FPGA%2C+and+ASIC+minimum+energy+consumption+between+difficulty+recalculation.&amp;rft.btitle=Energy+Consumption+of+Bitcoin+Mining&amp;rft.date=2019&amp;rft_id=info%3Adoi%2F10.17863%2FCAM.41230&amp;rft.aulast=Sinan&amp;rft.aufirst=Kufeoglu&amp;rft.au=Mahmut%2C+Ozkuran&amp;rft_id=https%3A%2F%2Fwww.researchgate.net%2Ffigure%2FCPU-GPU-FPGA-and-ASIC-minimum-energy-consumption-between-difficulty-recalculation_fig5_337886683&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKimKongMunir2020" class="citation journal cs1">Kim, Yeongmin; Kong, Joonho; Munir, Arslan (2020). <a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FACCESS.2020.3039278">"CPU-Accelerator Co-Scheduling for CNN Acceleration at the Edge"</a>. <i>IEEE Access</i>. <b>8</b>: 211422–211433. <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2020IEEEA...8u1422K">2020IEEEA...8u1422K</a>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FACCESS.2020.3039278">10.1109/ACCESS.2020.3039278</a></span>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/2169-3536">2169-3536</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=IEEE+Access&amp;rft.atitle=CPU-Accelerator+Co-Scheduling+for+CNN+Acceleration+at+the+Edge&amp;rft.volume=8&amp;rft.pages=211422-211433&amp;rft.date=2020&amp;rft.issn=2169-3536&amp;rft_id=info%3Adoi%2F10.1109%2FACCESS.2020.3039278&amp;rft_id=info%3Abibcode%2F2020IEEEA...8u1422K&amp;rft.aulast=Kim&amp;rft.aufirst=Yeongmin&amp;rft.au=Kong%2C+Joonho&amp;rft.au=Munir%2C+Arslan&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.1109%252FACCESS.2020.3039278&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLinJiangGuLi2021" class="citation journal cs1">Lin, Yibo; Jiang, Zixuan; Gu, Jiaqi; Li, Wuxi; Dhar, Shounak; Ren, Haoxing; Khailany, Brucek; Pan, David Z. (April 2021). <a rel="nofollow" class="external text" href="https://ieeexplore.ieee.org/document/9122053">"DREAMPlace: Deep Learning Toolkit-Enabled GPU Acceleration for Modern VLSI Placement"</a>. <i>IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems</i>. <b>40</b> (4): 748–761. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FTCAD.2020.3003843">10.1109/TCAD.2020.3003843</a>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1937-4151">1937-4151</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:225744481">225744481</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=IEEE+Transactions+on+Computer-Aided+Design+of+Integrated+Circuits+and+Systems&amp;rft.atitle=DREAMPlace%3A+Deep+Learning+Toolkit-Enabled+GPU+Acceleration+for+Modern+VLSI+Placement&amp;rft.volume=40&amp;rft.issue=4&amp;rft.pages=748-761&amp;rft.date=2021-04&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A225744481%23id-name%3DS2CID&amp;rft.issn=1937-4151&amp;rft_id=info%3Adoi%2F10.1109%2FTCAD.2020.3003843&amp;rft.aulast=Lin&amp;rft.aufirst=Yibo&amp;rft.au=Jiang%2C+Zixuan&amp;rft.au=Gu%2C+Jiaqi&amp;rft.au=Li%2C+Wuxi&amp;rft.au=Dhar%2C+Shounak&amp;rft.au=Ren%2C+Haoxing&amp;rft.au=Khailany%2C+Brucek&amp;rft.au=Pan%2C+David+Z.&amp;rft_id=https%3A%2F%2Fieeexplore.ieee.org%2Fdocument%2F9122053&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLyakhovValuevaValuevNagornov2020" class="citation journal cs1">Lyakhov, Pavel; Valueva, Maria; Valuev, Georgii; Nagornov, Nikolai (2020-12-18). <a rel="nofollow" class="external text" href="https://doi.org/10.3390%2Fapp10249052">"A Method of Increasing Digital Filter Performance Based on Truncated Multiply-Accumulate Units"</a>. <i>Applied Sciences</i>. <b>10</b> (24): 9052. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.3390%2Fapp10249052">10.3390/app10249052</a></span>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/2076-3417">2076-3417</a>. <q>Hardware simulation on FPGA increased the digital filter performance.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Applied+Sciences&amp;rft.atitle=A+Method+of+Increasing+Digital+Filter+Performance+Based+on+Truncated+Multiply-Accumulate+Units&amp;rft.volume=10&amp;rft.issue=24&amp;rft.pages=9052&amp;rft.date=2020-12-18&amp;rft_id=info%3Adoi%2F10.3390%2Fapp10249052&amp;rft.issn=2076-3417&amp;rft.aulast=Lyakhov&amp;rft.aufirst=Pavel&amp;rft.au=Valueva%2C+Maria&amp;rft.au=Valuev%2C+Georgii&amp;rft.au=Nagornov%2C+Nikolai&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.3390%252Fapp10249052&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMohanWangJungkNiederhagen2020" class="citation book cs1">Mohan, Prashanth; Wang, Wen; Jungk, Bernhard; Niederhagen, Ruben; Szefer, Jakub; Mai, Ken (October 2020). <a rel="nofollow" class="external text" href="https://ieeexplore.ieee.org/document/9283605">"ASIC Accelerator in 28 nm for the Post-Quantum Digital Signature Scheme XMSS"</a>. <i>2020 IEEE 38th International Conference on Computer Design (ICCD)</i>. Hartford, CT, USA: IEEE. pp.&#160;656–662. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FICCD50377.2020.00112">10.1109/ICCD50377.2020.00112</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-7281-9710-4" title="Special:BookSources/978-1-7281-9710-4"><bdi>978-1-7281-9710-4</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:229330964">229330964</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=ASIC+Accelerator+in+28+nm+for+the+Post-Quantum+Digital+Signature+Scheme+XMSS&amp;rft.btitle=2020+IEEE+38th+International+Conference+on+Computer+Design+%28ICCD%29&amp;rft.place=Hartford%2C+CT%2C+USA&amp;rft.pages=656-662&amp;rft.pub=IEEE&amp;rft.date=2020-10&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A229330964%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1109%2FICCD50377.2020.00112&amp;rft.isbn=978-1-7281-9710-4&amp;rft.aulast=Mohan&amp;rft.aufirst=Prashanth&amp;rft.au=Wang%2C+Wen&amp;rft.au=Jungk%2C+Bernhard&amp;rft.au=Niederhagen%2C+Ruben&amp;rft.au=Szefer%2C+Jakub&amp;rft.au=Mai%2C+Ken&amp;rft_id=https%3A%2F%2Fieeexplore.ieee.org%2Fdocument%2F9283605&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span></span> </li> <li id="cite_note-BingFPGA-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-BingFPGA_8-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMorgan2014" class="citation news cs1">Morgan, Timothy Pricket (2014-09-03). <a rel="nofollow" class="external text" href="https://www.enterprisetech.com/2014/09/03/microsoft-using-fpgas-speed-bing-search/">"How Microsoft Is Using FPGAs To Speed Up Bing Search"</a>. Enterprise Tech<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-09-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=How+Microsoft+Is+Using+FPGAs+To+Speed+Up+Bing+Search&amp;rft.date=2014-09-03&amp;rft.aulast=Morgan&amp;rft.aufirst=Timothy+Pricket&amp;rft_id=https%3A%2F%2Fwww.enterprisetech.com%2F2014%2F09%2F03%2Fmicrosoft-using-fpgas-speed-bing-search%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span></span> </li> <li id="cite_note-ProjCatapult-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-ProjCatapult_9-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.microsoft.com/en-us/research/project/project-catapult/">"Project Catapult"</a>. <i>Microsoft Research</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Microsoft+Research&amp;rft.atitle=Project+Catapult&amp;rft_id=https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fresearch%2Fproject%2Fproject-catapult%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.xilinx.com/products/design_resources/proc_central/microblaze_faq.pdf">MicroBlaze Soft Processor: Frequently Asked Questions</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20111027074459/http://www.xilinx.com/products/design_resources/proc_central/microblaze_faq.pdf">Archived</a> 2011-10-27 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFVassányi1998" class="citation book cs1">Vassányi, István (1998). <a rel="nofollow" class="external text" href="https://doi.org/10.1007%2FBFb0055278">"Implementing processor arrays on FPGAs"</a>. <i>Field-Programmable Logic and Applications from FPGAs to Computing Paradigm</i>. Lecture Notes in Computer Science. Vol.&#160;1482. pp.&#160;446–450. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2FBFb0055278">10.1007/BFb0055278</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-540-64948-9" title="Special:BookSources/978-3-540-64948-9"><bdi>978-3-540-64948-9</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Implementing+processor+arrays+on+FPGAs&amp;rft.btitle=Field-Programmable+Logic+and+Applications+from+FPGAs+to+Computing+Paradigm&amp;rft.series=Lecture+Notes+in+Computer+Science&amp;rft.pages=446-450&amp;rft.date=1998&amp;rft_id=info%3Adoi%2F10.1007%2FBFb0055278&amp;rft.isbn=978-3-540-64948-9&amp;rft.aulast=Vass%C3%A1nyi&amp;rft.aufirst=Istv%C3%A1n&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.1007%252FBFb0055278&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text">Zhoukun WANG and Omar HAMMAMI. "A 24 Processors System on Chip FPGA Design with Network on Chip". <a rel="nofollow" class="external autonumber" href="http://www.design-reuse.com/articles/21583/processor-noc-fpga.html">[1]</a></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://members.optusnet.com.au/jekent/Micro16Array/index.html">John Kent. "Micro16 Array - A Simple CPU Array"</a></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text">Kit Eaton. "1,000 Core CPU Achieved: Your Future Desktop Will Be a Supercomputer". 2011. <a rel="nofollow" class="external autonumber" href="http://www.fastcompany.com/1714174/1000-core-cpu-achieved-your-future-desktop-will-be-a-supercomputer?partner=rss">[2]</a></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text">"Scientists Squeeze Over 1,000 Cores onto One Chip". 2011. <a rel="nofollow" class="external autonumber" href="http://www.ecnmag.com/news/2011/01/research/Over-1000-Cores-on-One-Chip.aspx">[3]</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120305082424/http://www.ecnmag.com/news/2011/01/research/Over-1000-Cores-on-One-Chip.aspx">Archived</a> 2012-03-05 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKienleWehnMeyr2011" class="citation journal cs1">Kienle, Frank; Wehn, Norbert; Meyr, Heinrich (December 2011). "On Complexity, Energy- and Implementation-Efficiency of Channel Decoders". <i>IEEE Transactions on Communications</i>. <b>59</b> (12): 3301–3310. <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1003.3792">1003.3792</a></span>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2Ftcomm.2011.092011.100157">10.1109/tcomm.2011.092011.100157</a>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0090-6778">0090-6778</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:13863870">13863870</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=IEEE+Transactions+on+Communications&amp;rft.atitle=On+Complexity%2C+Energy-+and+Implementation-Efficiency+of+Channel+Decoders&amp;rft.volume=59&amp;rft.issue=12&amp;rft.pages=3301-3310&amp;rft.date=2011-12&amp;rft_id=info%3Aarxiv%2F1003.3792&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A13863870%23id-name%3DS2CID&amp;rft.issn=0090-6778&amp;rft_id=info%3Adoi%2F10.1109%2Ftcomm.2011.092011.100157&amp;rft.aulast=Kienle&amp;rft.aufirst=Frank&amp;rft.au=Wehn%2C+Norbert&amp;rft.au=Meyr%2C+Heinrich&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span></span> </li> <li id="cite_note-wellho-17"><span class="mw-cite-backlink">^ <a href="#cite_ref-wellho_17-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-wellho_17-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.wellho.net/regex/hardware.html">"Regular Expressions in hardware"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">17 July</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Regular+Expressions+in+hardware&amp;rft_id=http%3A%2F%2Fwww.wellho.net%2Fregex%2Fhardware.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation news cs1"><a rel="nofollow" class="external text" href="https://www.microsoft.com/en-us/research/project/compression-accelerators/">"Compression Accelerators - Microsoft Research"</a>. <i>Microsoft Research</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-10-07</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Microsoft+Research&amp;rft.atitle=Compression+Accelerators+-+Microsoft+Research&amp;rft_id=https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fresearch%2Fproject%2Fcompression-accelerators%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHardware+acceleration" class="Z3988"></span></span> </li> <li id="cite_note-Farabet-19"><span class="mw-cite-backlink">^ <a href="#cite_ref-Farabet_19-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Farabet_19-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Farabet, Clément, et al. "<a rel="nofollow" class="external text" href="https://www.academia.edu/download/43417932/Hardware_Accelerated_Convolutional_Neura20160306-12343-1rpenxt.pdf">Hardware accelerated convolutional neural networks for synthetic vision systems</a><sup class="noprint Inline-Template"><span style="white-space: nowrap;">&#91;<i><a href="/wiki/Wikipedia:Link_rot" title="Wikipedia:Link rot"><span title="&#160;Dead link tagged July 2022">dead link</span></a></i><span style="visibility:hidden; color:transparent; padding-left:2px">&#8205;</span>&#93;</span></sup>." Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on. IEEE, 2010.</span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Hardware_acceleration&amp;action=edit&amp;section=11" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Commons-logo.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/12px-Commons-logo.svg.png" decoding="async" width="12" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/18px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/24px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></a></span> Media related to <a href="https://commons.wikimedia.org/wiki/Category:Hardware_acceleration" class="extiw" title="commons:Category:Hardware acceleration">Hardware acceleration</a> at Wikimedia Commons</li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Hardware_acceleration" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Hardware_acceleration" title="Template:Hardware acceleration"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Hardware_acceleration" title="Template talk:Hardware acceleration"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Hardware_acceleration" title="Special:EditPage/Template:Hardware acceleration"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Hardware_acceleration" style="font-size:114%;margin:0 4em"><a class="mw-selflink selflink">Hardware acceleration</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Models_of_computation" class="mw-redirect" title="Models of computation">Theory</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Universal_Turing_machine" title="Universal Turing machine">Universal Turing machine</a></li> <li><a href="/wiki/Parallel_computing" title="Parallel computing">Parallel computing</a></li> <li><a href="/wiki/Distributed_computing" title="Distributed computing">Distributed computing</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Applications</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Graphics_processing_unit" title="Graphics processing unit">GPU</a> <ul><li><a href="/wiki/General-purpose_computing_on_graphics_processing_units" title="General-purpose computing on graphics processing units">GPGPU</a></li> <li><a href="/wiki/DirectX_Video_Acceleration" title="DirectX Video Acceleration">DirectX</a></li></ul></li> <li><a href="/wiki/Sound_card" title="Sound card">Audio</a></li> <li><a href="/wiki/Digital_signal_processor" title="Digital signal processor">Digital signal processing</a></li> <li><a href="/wiki/Hardware_random_number_generator" title="Hardware random number generator">Hardware random number generation</a></li> <li><a href="/wiki/AI_accelerator" title="AI accelerator">Artificial intelligence</a></li> <li><a href="/wiki/Cryptographic_accelerator" title="Cryptographic accelerator">Cryptography</a> <ul><li><a href="/wiki/TLS_acceleration" title="TLS acceleration">TLS</a></li></ul></li> <li><a href="/wiki/Vision_processing_unit" title="Vision processing unit">Machine vision</a></li> <li><a href="/wiki/Custom_hardware_attack" title="Custom hardware attack">Custom hardware attack</a> <ul><li><a href="/wiki/Scrypt" title="Scrypt">scrypt</a></li></ul></li> <li><a href="/wiki/Network_processor" title="Network processor">Networking</a></li> <li><a href="/wiki/Data_processing_unit" title="Data processing unit">Data</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Implementations</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/High-level_synthesis" title="High-level synthesis">High-level synthesis</a> <ul><li><a href="/wiki/C_to_HDL" title="C to HDL">C to HDL</a></li></ul></li> <li><a href="/wiki/Field-programmable_gate_array" title="Field-programmable gate array">FPGA</a></li> <li><a href="/wiki/Application-specific_integrated_circuit" title="Application-specific integrated circuit">ASIC</a></li> <li><a href="/wiki/Complex_programmable_logic_device" title="Complex programmable logic device">CPLD</a></li> <li><a href="/wiki/System_on_a_chip" title="System on a chip">System on a chip</a> <ul><li><a href="/wiki/Network_on_a_chip" title="Network on a chip">Network on a chip</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Computer_architecture" title="Computer architecture">Architectures</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Dataflow_architecture" title="Dataflow architecture">Dataflow</a></li> <li><a href="/wiki/Transport_triggered_architecture" title="Transport triggered architecture">Transport triggered</a></li> <li><a href="/wiki/Multicore" class="mw-redirect" title="Multicore">Multicore</a></li> <li><a href="/wiki/Manycore" class="mw-redirect" title="Manycore">Manycore</a></li> <li><a href="/wiki/Heterogeneous_computing" title="Heterogeneous computing">Heterogeneous</a></li> <li><a href="/wiki/In-memory_processing" title="In-memory processing">In-memory computing</a></li> <li><a href="/wiki/Systolic_array" title="Systolic array">Systolic array</a></li> <li><a href="/wiki/Neuromorphic_engineering" class="mw-redirect" title="Neuromorphic engineering">Neuromorphic</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Programmable_logic" class="mw-redirect" title="Programmable logic">Programmable logic</a></li> <li><a href="/wiki/Processor_(computing)" title="Processor (computing)">Processor</a> <ul><li><a href="/wiki/Processor_design" title="Processor design">design</a></li> <li><a href="/wiki/Microprocessor_chronology" title="Microprocessor chronology">chronology</a></li></ul></li> <li><a href="/wiki/Digital_electronics" title="Digital electronics">Digital electronics</a></li> <li><a href="/wiki/Virtualization" title="Virtualization">Virtualization</a> <ul><li><a href="/wiki/Hardware_emulation" title="Hardware emulation">Hardware emulation</a></li></ul></li> <li><a href="/wiki/Logic_synthesis" title="Logic synthesis">Logic synthesis</a></li> <li><a href="/wiki/Embedded_system" title="Embedded system">Embedded systems</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Graphics_processing_unit" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Graphics_Processing_Unit" title="Template:Graphics Processing Unit"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Graphics_Processing_Unit" title="Template talk:Graphics Processing Unit"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Graphics_Processing_Unit" title="Special:EditPage/Template:Graphics Processing Unit"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Graphics_processing_unit" style="font-size:114%;margin:0 4em"><a href="/wiki/Graphics_processing_unit" title="Graphics processing unit">Graphics processing unit</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">GPU</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Desktop</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/List_of_Intel_graphics_processing_units" title="List of Intel graphics processing units">Intel</a> <ul><li><a href="/wiki/Intel_Graphics_Technology" title="Intel Graphics Technology">GT</a></li> <li><a href="/wiki/Intel_Xe" title="Intel Xe">Xe</a></li> <li><a href="/wiki/Intel_Arc" title="Intel Arc">Arc</a></li></ul></li> <li><a href="/wiki/List_of_Nvidia_graphics_processing_units" title="List of Nvidia graphics processing units">Nvidia</a> <ul><li><a href="/wiki/GeForce" title="GeForce">GeForce</a></li> <li><a href="/wiki/Quadro" title="Quadro">Quadro</a></li> <li><a href="/wiki/Nvidia_Tesla" title="Nvidia Tesla">Tesla</a></li> <li><a href="/wiki/Nvidia_Tegra" class="mw-redirect" title="Nvidia Tegra">Tegra</a></li></ul></li> <li><a href="/wiki/List_of_AMD_graphics_processing_units" title="List of AMD graphics processing units">AMD</a> <ul><li><a href="/wiki/Radeon" title="Radeon">Radeon</a></li> <li><a href="/wiki/Radeon_Pro" title="Radeon Pro">Radeon Pro</a></li> <li><a href="/wiki/AMD_Instinct" title="AMD Instinct">Instinct</a></li></ul></li> <li><a href="/wiki/Matrox" title="Matrox">Matrox</a></li> <li><a href="/wiki/InfiniteReality" title="InfiniteReality">InfiniteReality</a></li> <li><a href="/wiki/NEC_%C2%B5PD7220" class="mw-redirect" title="NEC µPD7220">NEC µPD7220</a></li> <li><a href="/wiki/Comparison_of_3dfx_graphics_processing_units" class="mw-redirect" title="Comparison of 3dfx graphics processing units">3dfx Voodoo</a></li> <li><a href="/wiki/S3_Graphics" title="S3 Graphics">S3</a></li> <li><a href="/wiki/Glaze3D" title="Glaze3D">Glaze3D</a></li> <li><a href="/wiki/Apple_silicon" title="Apple silicon">Apple silicon</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Mobile</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Adreno" title="Adreno">Adreno</a></li> <li><a href="/wiki/Apple_silicon" title="Apple silicon">Apple silicon</a></li> <li><a href="/wiki/Mali_(GPU)" class="mw-redirect" title="Mali (GPU)">Mali</a></li> <li><a href="/wiki/PowerVR" title="PowerVR">PowerVR</a></li> <li><a href="/wiki/VideoCore" title="VideoCore">VideoCore</a></li> <li><a href="/wiki/Vivante_Corporation" title="Vivante Corporation">Vivante</a></li> <li><a href="/wiki/Imageon" title="Imageon">Imageon</a></li> <li><a href="/wiki/Intel_2700G" title="Intel 2700G">Intel 2700G</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Architecture</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Compute_kernel" title="Compute kernel">Compute kernel</a></li> <li><a href="/wiki/Semiconductor_device_fabrication" title="Semiconductor device fabrication">Fabrication</a> <ul><li><a href="/wiki/CMOS" title="CMOS">CMOS</a></li> <li><a href="/wiki/FinFET" class="mw-redirect" title="FinFET">FinFET</a></li> <li><a href="/wiki/MOSFET" title="MOSFET">MOSFET</a></li></ul></li> <li><a href="/wiki/Graphics_pipeline" title="Graphics pipeline">Graphics pipeline</a> <ul><li><a href="/wiki/Geometry_pipelines" title="Geometry pipelines">Geometry</a></li> <li><a href="/wiki/Vertex_pipeline" title="Vertex pipeline">Vertex</a></li></ul></li> <li><a href="/wiki/High-dynamic-range_rendering" title="High-dynamic-range rendering">HDR rendering</a></li> <li><a href="/wiki/Multiply%E2%80%93accumulate_operation" title="Multiply–accumulate operation">MAC</a></li> <li><a href="/wiki/Rasterisation" title="Rasterisation">Rasterisation</a> <ul><li><a href="/wiki/Shading" title="Shading">Shading</a></li></ul></li> <li><a href="/wiki/Ray-tracing_hardware" title="Ray-tracing hardware">Ray-tracing</a></li> <li><a href="/wiki/Single_instruction,_multiple_data" title="Single instruction, multiple data">SIMD</a> <ul><li><a href="/wiki/Single_instruction,_multiple_threads" title="Single instruction, multiple threads">SIMT</a></li></ul></li> <li><a href="/wiki/Tessellation_(computer_graphics)" title="Tessellation (computer graphics)">Tessellation</a></li> <li><a href="/wiki/Transform,_clipping,_and_lighting" title="Transform, clipping, and lighting">T&amp;L</a></li> <li><a href="/wiki/Tiled_rendering" title="Tiled rendering">Tiled rendering</a></li> <li><a href="/wiki/Unified_shader_model" title="Unified shader model">Unified shader model</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Components</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Blitter" title="Blitter">Blitter</a></li> <li><a href="/wiki/Geometry_processing" title="Geometry processing">Geometry processor</a></li> <li><a href="/wiki/Input%E2%80%93output_memory_management_unit" title="Input–output memory management unit">Input–output memory management unit</a></li> <li><a href="/wiki/Render_output_unit" title="Render output unit">Render output unit</a></li> <li><a href="/wiki/Shader" title="Shader">Shader unit</a></li> <li><a href="/wiki/Stream_processing" title="Stream processing">Stream processor</a></li> <li><a href="/wiki/Tensor" title="Tensor">Tensor unit</a></li> <li><a href="/wiki/Texture_mapping_unit" title="Texture mapping unit">Texture mapping unit</a></li> <li><a href="/wiki/Video_display_controller" title="Video display controller">Video display controller</a></li> <li><a href="/wiki/Video_processing_unit" class="mw-redirect" title="Video processing unit">Video processing unit</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Memory</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Direct_memory_access" title="Direct memory access">DMA</a></li> <li><a href="/wiki/Framebuffer" title="Framebuffer">Framebuffer</a></li> <li><a href="/wiki/SGRAM" class="mw-redirect" title="SGRAM">SGRAM</a> <ul><li><a href="/wiki/GDDR_SDRAM" title="GDDR SDRAM">GDDR</a></li> <li><a href="/wiki/GDDR2" class="mw-redirect" title="GDDR2">GDDR2</a></li> <li><a href="/wiki/GDDR3" class="mw-redirect" title="GDDR3">GDDR3</a></li> <li><a href="/wiki/GDDR4" class="mw-redirect" title="GDDR4">GDDR4</a></li> <li><a href="/wiki/GDDR5" class="mw-redirect" title="GDDR5">GDDR5</a></li> <li><a href="/wiki/GDDR6" class="mw-redirect" title="GDDR6">GDDR6</a></li> <li><a href="/wiki/GDDR7" class="mw-redirect" title="GDDR7">GDDR7</a></li></ul></li> <li><a href="/wiki/High_Bandwidth_Memory" title="High Bandwidth Memory">HBM</a> <ul><li><a href="/wiki/HBM2" class="mw-redirect" title="HBM2">HBM2</a></li> <li><a href="/wiki/HBM2E" class="mw-redirect" title="HBM2E">HBM2E</a></li> <li><a href="/wiki/HBM3" class="mw-redirect" title="HBM3">HBM3</a></li> <li><a href="/wiki/HBM-PIM" class="mw-redirect" title="HBM-PIM">HBM-PIM</a></li> <li><a href="/wiki/HBM3E" class="mw-redirect" title="HBM3E">HBM3E</a></li></ul></li> <li><a href="/wiki/Memory_bandwidth" title="Memory bandwidth">Memory bandwidth</a></li> <li><a href="/wiki/Memory_controller" title="Memory controller">Memory controller</a></li> <li><a href="/wiki/Shared_graphics_memory" title="Shared graphics memory">Shared graphics memory</a></li> <li><a href="/wiki/Texture_memory" title="Texture memory">Texture memory</a></li> <li><a href="/wiki/Video_RAM_(dual-ported_DRAM)" class="mw-redirect" title="Video RAM (dual-ported DRAM)">VRAM</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Form factor</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Semiconductor_intellectual_property_core" title="Semiconductor intellectual property core">IP core</a></li> <li><a href="/wiki/Video_card" class="mw-redirect" title="Video card">Discrete graphics</a> <ul><li><a href="/wiki/GPU_cluster" title="GPU cluster">Clustering</a></li> <li><a href="/wiki/GPU_switching" title="GPU switching">Switching</a></li></ul></li> <li><a href="/wiki/External_GPU" class="mw-redirect" title="External GPU">External graphics</a></li> <li><a href="/wiki/Integrated_graphics" class="mw-redirect" title="Integrated graphics">Integrated graphics</a></li> <li><a href="/wiki/System_on_a_chip" title="System on a chip">System on a chip</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Performance</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Clock_rate" title="Clock rate">Clock rate</a></li> <li><a href="/wiki/Computer_display_standard" class="mw-redirect" title="Computer display standard">Display resolution</a></li> <li><a href="/wiki/Fillrate" title="Fillrate">Fillrate</a> <ul><li><a href="/wiki/Gigapixel_image" title="Gigapixel image">Pixel/s</a></li> <li><a href="/wiki/Texel_(graphics)" title="Texel (graphics)">Texel/s</a></li></ul></li> <li><a href="/wiki/FLOPS" class="mw-redirect" title="FLOPS">FLOP/s</a></li> <li><a href="/wiki/Frame_rate" title="Frame rate">Frame rate</a></li> <li><a href="/wiki/Performance_per_watt" title="Performance per watt">Performance per watt</a></li> <li><a href="/wiki/Transistor_count" title="Transistor count">Transistor count</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Misc</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/2D_computer_graphics" title="2D computer graphics">2D</a> <ul><li><a href="/wiki/Scrolling" title="Scrolling">Scrolling</a></li> <li><a href="/wiki/Sprite_(computer_graphics)" title="Sprite (computer graphics)">Sprite</a></li> <li><a href="/wiki/Tile-based_video_game" title="Tile-based video game">Tile</a></li></ul></li> <li><a href="/wiki/3D_computer_graphics" title="3D computer graphics">3D</a> <ul><li><a href="/wiki/Global_illumination" title="Global illumination">GI</a></li> <li><a href="/wiki/Texture_mapping" title="Texture mapping">Texture</a></li></ul></li> <li><a href="/wiki/Application-specific_integrated_circuit" title="Application-specific integrated circuit">ASIC</a></li> <li><a href="/wiki/General-purpose_computing_on_graphics_processing_units" title="General-purpose computing on graphics processing units">GPGPU</a></li> <li><a href="/wiki/Graphics_library" title="Graphics library">Graphics library</a></li> <li><a class="mw-selflink selflink">Hardware acceleration</a></li> <li><a href="/wiki/Digital_image_processing" title="Digital image processing">Image processing</a> <ul><li><a href="/wiki/Image_compression" title="Image compression">Compression</a></li></ul></li> <li><a href="/wiki/Parallel_computing" title="Parallel computing">Parallel computing</a></li> <li><a href="/wiki/Vector_processor" title="Vector processor">Vector processor</a></li> <li><a href="/wiki/Video_coding_format" title="Video coding format">Video coding</a> <ul><li><a href="/wiki/Video_codec" title="Video codec">Codec</a></li></ul></li> <li><a href="/wiki/Very_long_instruction_word" title="Very long instruction word">VLIW</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Digital_electronics" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Digital_electronics" title="Template:Digital electronics"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Digital_electronics" title="Template talk:Digital electronics"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Digital_electronics" title="Special:EditPage/Template:Digital electronics"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Digital_electronics" style="font-size:114%;margin:0 4em"><a href="/wiki/Digital_electronics" title="Digital electronics">Digital electronics</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%;text-align:center;"><a href="/wiki/Electronic_component" title="Electronic component">Components</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Transistor" title="Transistor">Transistor</a></li> <li><a href="/wiki/Resistor" title="Resistor">Resistor</a></li> <li><a href="/wiki/Inductor" title="Inductor">Inductor</a></li> <li><a href="/wiki/Capacitor" title="Capacitor">Capacitor</a></li> <li><a href="/wiki/Printed_electronics" title="Printed electronics">Printed electronics</a></li> <li><a href="/wiki/Printed_circuit_board" title="Printed circuit board">Printed circuit board</a></li> <li><a href="/wiki/Electronic_circuit" title="Electronic circuit">Electronic circuit</a></li> <li><a href="/wiki/Flip-flop_(electronics)" title="Flip-flop (electronics)">Flip-flop</a></li> <li><a href="/wiki/Memory_cell_(computing)" title="Memory cell (computing)">Memory cell</a></li> <li><a href="/wiki/Combinational_logic" title="Combinational logic">Combinational logic</a></li> <li><a href="/wiki/Sequential_logic" title="Sequential logic">Sequential logic</a></li> <li><a href="/wiki/Logic_gate" title="Logic gate">Logic gate</a></li> <li><a href="/wiki/Boolean_circuit" title="Boolean circuit">Boolean circuit</a></li> <li><a href="/wiki/Integrated_circuit" title="Integrated circuit">Integrated circuit</a> (IC)</li> <li><a href="/wiki/Hybrid_integrated_circuit" title="Hybrid integrated circuit">Hybrid integrated circuit</a> (HIC)</li> <li><a href="/wiki/Mixed-signal_integrated_circuit" title="Mixed-signal integrated circuit">Mixed-signal integrated circuit</a></li> <li><a href="/wiki/Three-dimensional_integrated_circuit" title="Three-dimensional integrated circuit">Three-dimensional integrated circuit</a> (3D IC)</li> <li><a href="/wiki/Emitter-coupled_logic" title="Emitter-coupled logic">Emitter-coupled logic</a> (ECL)</li> <li><a href="/wiki/Erasable_programmable_logic_device" class="mw-redirect" title="Erasable programmable logic device">Erasable programmable logic device</a> (EPLD)</li> <li><a href="/wiki/Macrocell_array" title="Macrocell array">Macrocell array</a></li> <li><a href="/wiki/Programmable_logic_array" title="Programmable logic array">Programmable logic array</a> (PLA)</li> <li><a href="/wiki/Programmable_logic_device" title="Programmable logic device">Programmable logic device</a> (PLD)</li> <li><a href="/wiki/Programmable_Array_Logic" title="Programmable Array Logic">Programmable Array Logic</a> (PAL)</li> <li><a href="/wiki/Generic_Array_Logic" title="Generic Array Logic">Generic Array Logic</a> (GAL)</li> <li><a href="/wiki/Complex_programmable_logic_device" title="Complex programmable logic device">Complex programmable logic device</a> (CPLD)</li> <li><a href="/wiki/Field-programmable_gate_array" title="Field-programmable gate array">Field-programmable gate array</a> (FPGA)</li> <li><a href="/wiki/Field-programmable_object_array" title="Field-programmable object array">Field-programmable object array</a> (FPOA)</li> <li><a href="/wiki/Application-specific_integrated_circuit" title="Application-specific integrated circuit">Application-specific integrated circuit</a> (ASIC)</li> <li><a href="/wiki/Tensor_Processing_Unit" title="Tensor Processing Unit">Tensor Processing Unit</a> (TPU)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;text-align:center;">Theory</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Digital_signal" title="Digital signal">Digital signal</a></li> <li><a href="/wiki/Boolean_algebra" title="Boolean algebra">Boolean algebra</a></li> <li><a href="/wiki/Logic_synthesis" title="Logic synthesis">Logic synthesis</a></li> <li><a href="/wiki/Logic_in_computer_science" title="Logic in computer science">Logic in computer science</a></li> <li><a href="/wiki/Computer_architecture" title="Computer architecture">Computer architecture</a></li> <li><a href="/wiki/Digital_signal_(signal_processing)" title="Digital signal (signal processing)">Digital signal</a> <ul><li><a href="/wiki/Digital_signal_processing" title="Digital signal processing">Digital signal processing</a></li></ul></li> <li><a href="/wiki/Circuit_minimization_for_Boolean_functions" class="mw-redirect" title="Circuit minimization for Boolean functions">Circuit minimization</a></li> <li><a href="/wiki/Switching_circuit_theory" title="Switching circuit theory">Switching circuit theory</a></li> <li><a href="/wiki/Gate_equivalent" title="Gate equivalent">Gate equivalent</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;text-align:center;"><a href="/wiki/Electronics_design" class="mw-redirect" title="Electronics design">Design</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Logic_synthesis" title="Logic synthesis">Logic synthesis</a></li> <li><a href="/wiki/Place_and_route" title="Place and route">Place and route</a> <ul><li><a href="/wiki/Placement_(electronic_design_automation)" title="Placement (electronic design automation)">Placement</a></li> <li><a href="/wiki/Routing_(electronic_design_automation)" title="Routing (electronic design automation)">Routing</a></li></ul></li> <li><a href="/wiki/Transaction-level_modeling" title="Transaction-level modeling">Transaction-level modeling</a></li> <li><a href="/wiki/Register-transfer_level" title="Register-transfer level">Register-transfer level</a> <ul><li><a href="/wiki/Hardware_description_language" title="Hardware description language">Hardware description language</a></li> <li><a href="/wiki/High-level_synthesis" title="High-level synthesis">High-level synthesis</a></li></ul></li> <li><a href="/wiki/Formal_equivalence_checking" title="Formal equivalence checking">Formal equivalence checking</a></li> <li><a href="/wiki/Synchronous_circuit" title="Synchronous circuit">Synchronous logic</a></li> <li><a href="/wiki/Asynchronous_circuit" title="Asynchronous circuit">Asynchronous logic</a></li> <li><a href="/wiki/Finite-state_machine" title="Finite-state machine">Finite-state machine</a> <ul><li><a href="/wiki/Hierarchical_state_machine" class="mw-redirect" title="Hierarchical state machine">Hierarchical state machine</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;text-align:center;">Applications</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Computer_hardware" title="Computer hardware">Computer hardware</a> <ul><li><a class="mw-selflink selflink">Hardware acceleration</a></li></ul></li> <li><a href="/wiki/Digital_audio" title="Digital audio">Digital audio</a> <ul><li><a href="/wiki/Digital_radio" title="Digital radio">radio</a></li></ul></li> <li><a href="/wiki/Digital_photography" title="Digital photography">Digital photography</a></li> <li><a href="/wiki/Telephony#Digital_telephony" title="Telephony">Digital telephone</a></li> <li><a href="/wiki/Digital_video" title="Digital video">Digital video</a> <ul><li><a href="/wiki/Digital_cinematography" title="Digital cinematography">cinematography</a></li> <li><a href="/wiki/Digital_television" title="Digital television">television</a></li></ul></li> <li><a href="/wiki/Electronic_literature" title="Electronic literature">Electronic literature</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;text-align:center;">Design issues</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Metastability_(electronics)" title="Metastability (electronics)">Metastability</a></li> <li><a href="/wiki/Runt_pulse" title="Runt pulse">Runt pulse</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐dfwpk Cached time: 20241122142849 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.437 seconds Real time usage: 0.584 seconds Preprocessor visited node count: 1741/1000000 Post‐expand include size: 86367/2097152 bytes Template argument size: 1282/2097152 bytes Highest expansion depth: 17/100 Expensive parser function count: 4/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 80015/5000000 bytes Lua time usage: 0.262/10.000 seconds Lua memory usage: 6144320/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 468.113 1 -total 37.97% 177.752 1 Template:Reflist 18.62% 87.153 4 Template:Navbox 17.44% 81.630 1 Template:Hardware_acceleration 15.42% 72.186 1 Template:Cite_magazine 14.26% 66.770 1 Template:Short_description 11.95% 55.939 1 Template:More_citations_needed 11.06% 51.768 1 Template:Ambox 8.07% 37.780 1 Template:For 6.18% 28.918 2 Template:Pagetype --> <!-- Saved in parser cache with key enwiki:pcache:idhash:2031045-0!canonical and timestamp 20241122142849 and revision id 1253212858. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Hardware_acceleration&amp;oldid=1253212858">https://en.wikipedia.org/w/index.php?title=Hardware_acceleration&amp;oldid=1253212858</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Hardware_acceleration" title="Category:Hardware acceleration">Hardware acceleration</a></li><li><a href="/wiki/Category:Application-specific_integrated_circuits" title="Category:Application-specific integrated circuits">Application-specific integrated circuits</a></li><li><a href="/wiki/Category:Central_processing_unit" title="Category:Central processing unit">Central processing unit</a></li><li><a href="/wiki/Category:Computer_optimization" title="Category:Computer optimization">Computer optimization</a></li><li><a href="/wiki/Category:Gate_arrays" title="Category:Gate arrays">Gate arrays</a></li><li><a href="/wiki/Category:Graphics_hardware" title="Category:Graphics hardware">Graphics hardware</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template wayback links">Webarchive template wayback links</a></li><li><a href="/wiki/Category:All_articles_with_dead_external_links" title="Category:All articles with dead external links">All articles with dead external links</a></li><li><a href="/wiki/Category:Articles_with_dead_external_links_from_July_2022" title="Category:Articles with dead external links from July 2022">Articles with dead external links from July 2022</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:Articles_needing_additional_references_from_September_2014" title="Category:Articles needing additional references from September 2014">Articles needing additional references from September 2014</a></li><li><a href="/wiki/Category:All_articles_needing_additional_references" title="Category:All articles needing additional references">All articles needing additional references</a></li><li><a href="/wiki/Category:Commons_category_link_from_Wikidata" title="Category:Commons category link from Wikidata">Commons category link from Wikidata</a></li><li><a href="/wiki/Category:Articles_with_example_C_code" title="Category:Articles with example C code">Articles with example C code</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 24 October 2024, at 21:45<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Hardware_acceleration&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-z27g8","wgBackendResponseTime":206,"wgPageParseReport":{"limitreport":{"cputime":"0.437","walltime":"0.584","ppvisitednodes":{"value":1741,"limit":1000000},"postexpandincludesize":{"value":86367,"limit":2097152},"templateargumentsize":{"value":1282,"limit":2097152},"expansiondepth":{"value":17,"limit":100},"expensivefunctioncount":{"value":4,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":80015,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 468.113 1 -total"," 37.97% 177.752 1 Template:Reflist"," 18.62% 87.153 4 Template:Navbox"," 17.44% 81.630 1 Template:Hardware_acceleration"," 15.42% 72.186 1 Template:Cite_magazine"," 14.26% 66.770 1 Template:Short_description"," 11.95% 55.939 1 Template:More_citations_needed"," 11.06% 51.768 1 Template:Ambox"," 8.07% 37.780 1 Template:For"," 6.18% 28.918 2 Template:Pagetype"]},"scribunto":{"limitreport-timeusage":{"value":"0.262","limit":"10.000"},"limitreport-memusage":{"value":6144320,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-dfwpk","timestamp":"20241122142849","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Hardware acceleration","url":"https:\/\/en.wikipedia.org\/wiki\/Hardware_acceleration","sameAs":"http:\/\/www.wikidata.org\/entity\/Q600158","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q600158","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2005-06-12T15:58:49Z","dateModified":"2024-10-24T21:45:08Z","image":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/74\/Sun-crypto-accelerator-1000.jpg","headline":"use of specialized computer hardware to perform some functions more efficiently than is possible in software running on a more general-purpose CPU"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10