Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 28 reacties

De TU Delft heeft software ontwikkeld waarmee het mogelijk is om op een efficiŽnte manier het fluorescentie-signaal van moleculen te meten. De software maakt gebruik van een gpu om berekeningen aan het uitgezonden licht te doen.

Door de software die de TU Delft in samenwerking met een universiteit in New Mexico heeft ontwikkeld, kunnen wetenschappers gebruikmaken van lokalisatie-microscopie. Met deze techniek wordt het fluorescerende licht van individuele moleculen op verschillende plaatsen geanalyseerd. Zo ontstaat een tien keer scherper beeld dan bij conventionele fluorescentiemicroscopie. Omdat het combineren van de gegevens van miljoenen moleculen veel rekenwerk kost, wordt lokalisatie-microscopie zelden gebruikt. De software van de TU Delft zorgt voor een efficiëntere manier om het fluorescentiesignaal te berekenen: het ontwikkelde algoritme gebruikt daarvoor een grafische processor.

Volgens dr. Bernd Rieger van de TU Delft wordt gebruikgemaakt van een grafische kaart die ook in conventionele pc's is te vinden. De parallele rekenkracht van videokaarten zorgt ervoor dat de data honderd maal sneller worden doorgerekend. De software is voor Nvidia's Cuda geschreven en werd met een 8600GTS-, een 8800GTS- en een GTX285-videokaart getest. Respectievelijk werden hiermee 43.000, 88.000 en 260.000 fits per seconde berekend op een grid van 7x7 pixels. Voor een locatie-microscopie-afbeelding zijn enkele miljoenen fits nodig en de cuda-software maakt een zo goed als realtime-weergave van de opnames mogelijk.

De software draait op zowel de 32bit- als de 64bit-versies van Windows en 64bit-Linux en is onder de GPL verkrijgbaar. Aan een versie voor Mac OS wordt nog gewerkt en ook aan de portering naar Cuda versie 3.0 wordt gewerkt.

Fluorescentiemicroscopie wordt onder andere in de medische wereld gebruikt om componenten van een cel aan te kleuren of om gelabelde cellen te kunnen volgen. Ook de lokalisatie van moleculen binnen een cel kan ermee worden bestudeerd.

Moderatie-faq Wijzig weergave

Reacties (28)

Hmm, op zich interessant. Gaat de TUDelft dit project ook nog beschikbaar stellen via de World Community Grid die zich bezighoud met allerlei medische zaken (net als dit project dus) en waar DPC heel erg actief is, of zijn er geen plannen in die richting?

Op die manier krijg je waarschijnlijk veel meer mensen die zich inzetten qua rekenkracht, dan wanneer je dit helemaal op je eentje zou gaan doen.

[Reactie gewijzigd door wildhagen op 9 april 2010 18:18]

Dit is dus totaal niet geschikt voor DPC.
Simplistisch gezegd; Je wilt cellen bekijken onder de microscoop om ze te kunnen kleuren om de kleuring te bekijken. Echter je wil de cellen zo nauwkeurig mogelijk zien. Nu met deze techniek kan de microscoop dmv een gpu, de gegevens zo verwerken dat hij 10x beter de cellen kan zien. Je kijkt dus door de microscoop en hetgeen wat je ziet is het resultaat van de berekening door de gpu over hetgeen wat de microscoop waarneemt. Zoiets moet dus realtime gebeuren, omdat de ook "realtime" bv de cellen kleurt tijdens het kijken door de microscoop.
Zie het als live tv kijken

[Reactie gewijzigd door Chooman op 9 april 2010 19:06]

Het zit een tikkeltje anders in elkaar....

Als je een computer door de microscoop laat kijken, dan kan je zelfs met oneindige rekenkracht, nauwelijks hogere resolutie bereiken. Daar zit dus het 'm dus niet in.

Wat er gedaan wordt, is dat er slecht een handvol moleculen worden geactiveerd, en die worden 'bekeken' net zo lang tot die moleculen geen fluorescent licht meer afgeven. Daarna activeer je een nieuwe set moleculen, en bekijkt die weer. Daar ga je dan net zo lang mee door, totdat je alle moleculen hebt gehad. Dan hebben we het dus over tienduizenden plaatjes. Die moeten allemaal geanalyseerd worden, en dan tot 1 plaatje gecombineerd worden. En dat vergt dus heel veel rekenkracht. Niet omdat de analyse zo moeilijk is, maar gewoon omdat het veel is.

De reden dat de resolutie zo hoog kan worden, heeft niets met de computer te maken, maar met de optica. Het is geen enkel probleem om de locatie van een molecuul nauwkeuriger te bepalen dan de diffractie limiet van de microscoop. Weliswaar zie je molecuul er uit als een spot van 300nm, maar met genoeg signaal/ruis verhouding, kunt je het midden van die spot makkelijk tot 30nm nauwkeurig bepalen. Het wordt echter een probleem wanneer er nůg een molecuul naast ligt, want dan kun je ze niet meer onderscheiden. Door echter slechts een handvol moleculen te activeren, komt die situatie vrijwel nooit voor. DŠt is dus de slimmigheid van deze techniek.

Zoals een wijs man vroeger al zei: Het is niet moeilijk een enkel molecuul te zien.... Het is moeilijk al die andere moleculen niet te zien!
Volgens mij gaat het hier om iets wat op een heel andere schaal gebruikt gaat worden. Bij de projecten waar DPC aan meewerkt gaat het om de verwerking van enorme hoeveelheden gegevens, hier gaat het om een relatief beperkte hoeveelheid. De benodigde resultaten zijn met behulp van ťťn videokaart al realtime te behalen, dit wil je niet distributed doen. De overhead van het distributed gedeelte lost enig voordeel dat te behalen valt waarschijnlijk direct op.
Ik vraag me af of er ook plannen zijn om dit voor de ATI kaarten beschikbaar te maken. Sowieso vraag ik me af wat de rede is waarom het enkel voor Cuda beschikbaar is.

Als deze software kaart onafhankelijk zou zijn zouden namelijk ook de PS3 grids ingeschakeld kunnen worden ;)
Ik vraag me af waarom je dat afvraagt.

Waarom zouden de ontwikkelaars de moeite nemen om het voor MEER dan 1 taal te ontwikkelen? Hoe verdient zich dat terug? Het is voor een heel specifiek doeleinde geschreven, en niet om door iedereen thuis gedraaid te kunnen worden.

En waarom zou je PS3 grids (welke 'de PS3 grids') willen gebruiken? Een moderne grafische kaart rent allang rondjes om die ene cell die in de PS3 zit. En bladeservers vol cell processoren zijn onbetaalbaar; deze oplossing is veel goedkoper.
Het zijn wetenschappers, geen R&D afdeling van een bedrijf. Het is goed mogelijk dat ze het ook in andere talen gaan implementeren.

De reden dat ze cuda genomen hebben zal voornamelijk zijn dat op het moment dat ze met het project begonnen, cuda het makkelijkste bruikbaar was voor een enkele gebruiker.
Juist al dit soort wetenschapper zou ik niet inzien waarom ik het in meer talen zou gaan implementeren. Het gaat hen echt niet om de taal, maar om het resultaat. De taal zelf is totaal irrelevant voor die wetenschapper, als het doet wat het moet doen. Pas als er een dwingende reden is om een andere taal te gebruiken (bijv. nvidia kapt met de ontwikkeling van cuda, of ati is opeens een aantal factoren sneller), zal dat gebeuren.

Als je een wetenschapper uit een andere hoek dan computer science bezig hebt gezien met programmeren, dan begrijp je meteen wat ik bedoel. Die programmeren resultaatgericht, en pakken over het algemeen iets wat op dat moment goed werkt, en interesseren zich er verder niet voor. Het is een tool, verder niets.
Ze hoeven niet meer dan een taal te gebruiken. OpenCL is platform en hardware onafhankelijk. Zodoende kunnen ze software maken die bijna overal op kan draaien.
Volgens mij is nVidia wat verder met gpgpu dan ATI
Wat zou de reden zijn dat ze dit in CUDA doen en niet in bijvoorbeeld OpenCL? Als ze het meteen in OpenCL doen hoef je achteraf niets te porteren voor de verschillend OS'en. En CUDA code kun je naar mijn weten ook met 1 tool in OpenCL omzetten.

Maargoed, als het werkt dan werkt het en als het beter is dan vroeger is het allemaal mooier :)
Omdat CUDA al verder ontwikkeld is en makkelijker werkt dan OpenCL op dit moment. Dit is echter wel snel aan het veranderen en zelf ben ik een voorstanden van OpenCL, maar technisch gezien is het voordeliger om voor dit soort pojecten nu nog voor CUDA te kiezen
In welk opzicht is CUDA dan verder ontwikkeld?

De PR machine van CUDA is wel een stuk beter, maar afgezien daarvan is er technisch gezien volgens mij zeer weinig verschil wat betreft mogelijkheden.
waarom zou je opencl gebruiken als je toch al weet dat je op nvidia hardware zit. Daarnaast is opencl een standaard, zoiets als opengl, ontwikkelen van deze standaard gaat nogal traag. We weten immers allemaal het lot van opengl en directx. Verder is het alternatief van Ati, stream, lang niet zo ver als cuda.

Het mooie van gpu's is dat je dmv goedkope hardware alsnog een mini-supercomputer kan maken, scheelt weer in de rij staan bij sara oid.
Ik vind het persoonlijk erg jammer dat ze niet op OpenCL hebben ontiwkkelt, aangezien ze nu hun tool beperken tot nVidia hardware, terwijl ATi hardware minstens zo geschikt is. Ik hoop van harte dat ze de CUDA code d.m.v. de tool die HiGh-O aankaartte gaan porten naar OpenCL zodat iedereen die het zou willen het op alle hardware zou kunnen gebruiken. :)
Tijdens mijn stage bij Thales Hengelo heb ik meegekregen dat zij in de toekomst ook gebruik gaan maken van GPU in hun MOC systemen (MOC systeem is waar radar operators op werken). Door de komst van video bewaking rond objecten is het nodig om zwaardere systemen te hebben en naast de andere taken die het systeem moet verrichten is het geen doen om de CPU hiermee te belasten en daardoor gaan ze bepaalde zaken op GPU niveau laten berekenen.
Applausje voor de PR afdeling van de TU-Delft.

Want laten we nou eerlijk zijn; Dat ze een gpu gebruiken voor beeldverwerking/microscopie is nou niet bepaald meer baanbrekend of bijzonder.
Maar misschien wel het algoritme voor de software?

Iets verder lezen dan u neus lang is alstublieft.

Er wordt in dit artikel meer nadruk gelegd op het algoritme en het goed kunnen aansturen danwel software dan dat het gpu gebruik nieuw is.

dit is het officiele bericht

edit:
@hieronder : ik zeg toch nergens in deze reactie dat het algoritme nieuw is alleen dat de combinatie nu wel goed werkt of te wel hetzelfde als u zelf aangeeft. ;) Bovendien is dit wel T.net gerelateerd: gpu gebruik voor andere doeleinden dan gamen e.d. het staat ook niet voor niets bij wetenschap.

[Reactie gewijzigd door Dutch Lion op 11 april 2010 18:25]

Zit je zelf toevallig bij de Tu-Delft?

Lees eerst zelf eens goed:
Het algoritme is niet nieuw, want ook in het officiele bericht staat dat dat al vele jaren gebruikt word.

Maar dat was in de praktijk nogal traag vanwege het vele rekenwerk. Wat ze gedaan hebben is dat algoritme programmeren in CUDA zodat het op een GPU verwerkt kan worden.

Dat levert een leuk afstudeerwerk op, maar is verder echt niet erg nieuwswaardig voor een site als T.net.

Dan kun je elke dag wel een aantal van die werken opsommen.
ATi is qua ontwikkeling misschien minder ver dan Nvidia, vandaar dat dit soort projecten eerst op een nvidia kaart wordt getest.

[Reactie gewijzigd door Stef42 op 9 april 2010 22:19]

Heb je dan een lokalisatie-microscoop? Lezen mensen nog wel het artikel? :o

edit: Ah stef42 je edit je post :p Eerst zeggen dat je het graag op je pc wil draaien en nu 100% aanpassen naar een ander onderwerp. Maakt het lezen van de thread wel makkelijker he...

[Reactie gewijzigd door Len op 10 april 2010 10:35]

En hoe is ATi minder ver dan :? Moderne kaarten van ATi en nVidia beschikken allemaal over programmeerbare shaders, dus daar kan het niet aan liggen. En de programmeertaal is ook al geen con meer, daar hebben we OpenCL voor.
Misschien kijk ik er drie keer naast, maar heeft iemand een link gezien naar de GPL source code?

Bedankt.
Ik heb het zo ook niet gevonden op de website van TU Delft. Mogelijk staat het op de site van Nature Methods - maar daar kan ik thuis niet bij.
Als iemand dit eens op kan snorren? Lijkt me leuk om eens te proberen wat anderen hier suggeren, en om de code te bekijken.

Real-life toepassingen zijn vaak een stuk leerzamer dan de honderste helloworld in CUDA.

edit: niet dat ik lui ben, ik heb echter geen toegang tot Nature Methods, al zou de source code GPL zijn, dus niet beperkt tot Nature Methods.

[Reactie gewijzigd door likewise op 11 april 2010 23:10]

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True