Menu Zavřít

Brněnský startup Dynanic získal 14 milionů korun na rozvoj svých programovatelných čipů. Investici vedli Tensor Ventures

28. 11. 2024
Doba čtení: 4 minuty
Autor: Dynanic
  • Český deeptechový fond Tensor Ventures vložil spolu s dalšími andělskými investory 550 tisíc eur do brněnského startupu Dynanic
  • Tento univerzitní spin-off vyvinul technologii, která umožňuje efektivně využívat programovatelné čipy a zjednodušit jejich použití
  • Dynanic se i díky nové investici chce stát významnou firmou v rámci celosvětového čipového průmyslu

Současný prudký rozvoj technologického odvětví s sebou přináší také mnoho výzev. Jednou z nich je třeba skutečnost, že tradiční polovodiče naprogramované již z výroby mnohdy nezvládají práci v překotně se měnícím prostředí technologií a datových center. I z tohoto důvodu je aktuálně jedním z nejrychleji rostoucích průmyslových segmentů oblast programovatelných čipů (FPGA).

Zásadní výhodou zmíněných polovodičů je především skutečnost, že dokáží změnit svoji funkci i po ukončení výrobního procesu, takže je lze průběžně přizpůsobovat aktuálním potřebám dané společnosti. To je obrovským přínosem obzvláště v odvětví umělé inteligence, virtuální reality a jiných vysokorychlostních technologií.

Outstream Placeholder

Velmi slibným segmentem programovatelných čipů se už zhruba 20 let zabývá také skupina výzkumníků z brněnského VUT v čele s Pavlem Korčekem. Díky svým rozsáhlým zkušenostem tým vyvinul unikátní technologii, která dokáže programovatelnému čipu „vdechnout život“ přesně podle potřeb svých zákazníků, a to i bez nutnosti mít vlastní specializované odborníky. Vzhledem k velkému potenciálu tohoto řešení vědci založili startup BrnoLogic, jenž nyní na svůj rozvoj pod novým jménem Dynanic získal investici ve výši 550 tisíc eur (téměř 14 milionů korun).

Hlavně pro datová centra

Česká FPGA technologie je výjimečná především díky svému ucelenému prostředí, které firmám umožňuje, aby si samy navolily konkrétní parametry pro daný čipset. Dosáhnout něčeho takového přitom rozhodně nebylo snadné. „Programovatelné hradlové čipy se velmi obtížně programují. Málokdo to totiž umí, jelikož nejde o běžný vývoj softwaru s jeho standardními paradigmaty. My jsme tuto schopnost získali během dvou minulých dekád, kdy jsme na VUT a v rámci sdružení CESNET pracovali na unikátním výzkumu právě na toto téma,“ řekl šéf Dynanicu Korček.

Brněnské řešení už získalo veškeré potřebné licence a firma aktuálně spolupracuje se všemi největšími výrobci čipů FPGA, jako je Intel a AMD. K zákazníkům Dynanicu pak patří hlavně nadnárodní technologické firmy včetně společností Kakao Corp či Kaloom Networks, ale také jedno z největších datových center v Česku. Právě pro akceleraci aplikací v datových centrech je přitom produkt využíván nejčastěji, a to z toho důvodu, že programovatelné čipy dokáží zásadně zvýšit efektivitu serverů, a tedy i celého datového provozu.

Čeští Tensor Ventures zakládají nový deep tech fond. Má se zaměřovat na kvantové, bezpečnostní i vesmírné technologie
Přečtěte si také:

Čeští Tensor Ventures zakládají nový deep tech fond. Má se zaměřovat na kvantové, bezpečnostní i vesmírné technologie

Že Dynanic patří ve svém oboru skutečně ke světové špičce, dokládá mimo jiné fakt, že to byli právě brněnští vědci, kteří jako první na světě vyvinuli akcelerační síťové karty s propustností 100 a 400 gigabitů za vteřinu. Už nyní navíc firma pracuje rovněž na technologii pro 800gigabitové sítě – třebaže čipy pro takto vysoké rychlosti zatím ani nejsou k dispozici.

Potenciál českých univerzit

Pro rozvoj potenciálu brněnského řešení jsou pochopitelně potřeba peníze, a ty nyní Dynanic naštěstí získal. Stalo se tak zásluhou řady soukromých investorů, přičemž tím hlavním byl český deeptechový fond Tensor Ventures. Pro něj jde o vůbec první projekt v rámci čerstvě otevřeného druhého investičního fondu, jenž se má zabývat hlavně unikátními kvantovými, bezpečnostními a vesmírnými technologiemi, biotechnologiemi, softwarem 2.0 či technologiemi z oblasti energetiky a klimatu.

„Nejen v českém univerzitním prostředí vyrostla spousta skvělých pokročilých technologií, které nejsou vidět, ale o to více si zaslouží otevřít dveře do světa. Konkrétně Dynanic má podle nás našlápnuto oslovit světové ikony čipového průmyslu, protože potřeba programovatelných čipů je a bude čím dál naléhavější,“ okomentoval investici Roman Smola, spoluzakladatel Tensor Ventures.

Odborných znalostí a potenciálu máme dost, ale chce to více spin-off firem, hodnotí českou deeptech scénu investoři z Tensor Ventures
Přečtěte si také:

Odborných znalostí a potenciálu máme dost, ale chce to více spin-off firem, hodnotí českou deeptech scénu investoři z Tensor Ventures

Nadšení z nové spolupráce potvrdil také Ondřej Lipold, který za zmíněný fond investici vedl: „Věříme, že podobné transfery z univerzitního prostředí mohou české technologie dostat rychleji k potenciálním zákazníkům a české univerzity zase mohou díky tomu získat finance z licencí či prodeje podílů na to, aby si udržely špičkové odborníky na své půdě.“

Kromě Tensor Ventures projekt podpořili také další andělští investoři, k nimž patří třeba Přemek Staroveský, Roger Benson nebo Werner Schaefer. „Investují s námi lidé, kteří dříve pracovali v Dellu, AMD, Intelu či Hewlett Packard Enterprise. To je pro Dynanic skutečně velmi slibná vizitka,“ zmínil další ze zakladatelů Tensor Ventures Petr Ulvr.

Prodej firmy není v plánu

Získané peníze hodlá Dynanic použít hlavně ke své expanzi, která z něj má učinit významnou firmu v rámci daného odvětví. „Celý proces našeho vstupu mezi těžké váhy světového čipového průmyslu chceme zásadně urychlit, přičemž míříme na takzvané hyperscaler firmy, jako jsou Google, Microsoft, Meta, Amazon či IBM,“ popsal Korček.

CIF25

Brněnský vědec zároveň zmiňuje, že spolupráci právě s Tensor Ventures a dalšími zkušenými odborníky si Dynanic zvolil i kvůli jejich skvělým kontaktům na technologický sektor po celém světě. To by firmě opět mělo pomoci s jejím rozvojem a expanzí, přičemž ambice má skutečně velké.

„Našim cílem rozhodně není rychle prodat Dynanic nadnárodní firmě a stát se její divizí s tím, že značka zanikne. Chceme naopak postupně vybudovat hrdou českou dodavatelskou firmu, která přinese světu skutečně zásadní technologie,“ uzavřel Korček.

  • Našli jste v článku chybu?
'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }