• No results found

I vissa fall kan det vara intressant för mer avancerade tillämpningar av OS-CFAR att ha CFAR-fönstrets referensceller fullt sorterade när tröskelvärdet ska beräknas. För varje tröskelvärde som beräknas krävs då minne för de sorterade referenscellerna. Att

implementera en sådan lösning är komplicerat om GPU-arkitekturens fulla potential ska utnyttjas. I det här examensarbetet har ingen lösning som uppfyller tidskraven i det tänkta systemet kunnat utvecklas, presenteras eller identifieras i den genomgångna litteraturen.

Om en GPUs potentiella parallellism ska utnyttjas, det vill säga att varje tröskelvärde och detektionsbeslut hanteras av en tråd, krävs det väldigt mycket minne för alla de sorterade referenscellerna. Endast det globala minnet är tillräckligt stort för att ha potential att tillåta varje tråd har en egen sorterad lista av referensceller. För en lösning där globalt minne används för sorteringen av referensceller, skulle den potentiella prestandan begränsas av alla minnesaccesser till det globala minnet.

För en GPU är minnesbandbredden och tillgången till snabbt minne en begränsning för minnesintensiva algoritmer. Implementationslösningen os-cfar-bitonic beskriven i avsnitt 4.5.3.3, kompromissar med parallellismen genom att låta ett helt trådblock beräkna varje tröskelvärde. Sorteringen av referenscellerna kan då genomföras i det delade minnet, vilket är snabbare och avsevärt minskar antalet minnesaccesser till globalt minne. Resultatet för prestandaanalysen visar att lösningen inte möjlig att använda på grund av de höga exekveringstiderna.

6.5

Rekommendationer

Resultatet av prestandaanalysen i föregående kapitel visar att vissa implementationslösningar för de två olika CFAR-algoritmerna presterar bättre än andra. Baserat på resultatet kan vissa rekommendationer ges angående vilka lösningar som är lämpliga att använda.

6.5.1 CA-CFAR

För CA-CFAR utmärker sig ca-cfar-sat i samtliga tester, undantaget för de absolut minsta CFAR-fönsterstorlekarna. Lösningen rekommenderas för CA-CFAR, förutsatt att vikter inte används för CFAR-fönstret.

Om storleken på CFAR-fönstret är väldigt liten eller vikter är nödvändigt för CFAR- fönstret, rekommenderas ca-cfar-tiling när fyllnadsgraden för CFAR-fönstret är under 100 %. Är fyllnadsgraden 100 % och antalet referensceller under 2000 för CFAR- fönstret, rekommenderas istället ca-cfar-tiling-m.

6.5.2 OS-CFAR

Lösningen os-cfar-tiling rekommenderas när OS-CFAR ska användas, eftersom den presterade bäst i samtliga utförda tester i prestandaanalysen.

6.6

Slutsats

Resultaten från prestandaanalysen för realistiska radarvärden i avsnitt 5.2.6 visar att det är möjligt att använda ett grafikkort för att i realtid kunna bearbeta all data i det tänkta radarsystemet.

Olika implementationslösningar för CA-CFAR och OS-CFAR har presenterats, där vissa uppfyller de tidskrav som systemet ställer. Implementationslösningen som bygger på ett SAT visar väldigt lovande resultat, den klarar de mest krävande testfallet med god

marginal. Det öppnar upp för möjligheten att radarsystemet kan användas över större områden än de som specificerats för prestandaanalysen. Om CA-CFAR med vikter i CFAR-fönstret eller OS-CFAR ska användas finns implementationslösningar som klarar av de specificerade testfallen, men där två GPUs behövs för den högre fyllnadsgraden i det mest krävande fallet.

Resultatet i avsnitt 5.2.8, visar att det är möjligt att effektivt utnyttja fler än en GPU för beräkningarna.

6.7 Framtidsutsikter

Utvecklingen av grafikkort över tid har hittills resulterat i ökad beräkningskraft [21]. Utsikterna för att använda en GPU för att exekvera de algoritmer som behandlats i det här examensarbetet är därför goda. Resultatet av prestandaanalysen visar att det idag är möjligt att med en GPU exekvera algoritmerna inom tidsramarna för systemet. Med framtida ökningar av beräkningskraften öppnar sig möjligheten för att använda dubbelprecision eller att bearbeta ännu större datamängder per tidsenhet.

Den programkod som utvecklats i det här examensarbetet kommer att i viss utsträckning vara användbar för framtida Nvidia grafikkort. CUDA är designat för bakåtkompatibilitet med äldre versioner. Det betyder att kompilerade programkod kan användas med nyare versioner av CUDAs drivrutins-API [21]. Nya grafikkort som släpps är i viss utsträckning kompatibla med kompilerad programkod från äldre CUDA- toolkit versioner, till exempel är Kepler-baserade grafikkort kompatibla med programkod kompilerade med CUDA-toolkit version 2.1 och nyare [30]. Den, vid tidspunkten när det här skrivs, nyligen presenterade Maxwell arkitekturen är också kompatibel med kod kompilerad med CUDA-toolkit version 2.1 och nyare [31]. Programkoden för examensarbetet är kompilerad med CUDA-toolkit version 5.5. Nya arkitekturer som till exempel Maxwell, innebär förändrade förutsättningar för optimeringar. Något som sannolikt förändras är det optimala antalet trådar och trådblock som används vid beräkningarna, vilket påverkar exekveringstiden markant samtidigt som det är en relativt enkel ändring att göra. Om en GPU med annan arkitektur än Kepler ska användas kan det därför vara gynnsamt att hitta nya optimala värden för antalet trådar och trådblock.

6.8

Framtida arbete

För att den implementerade applikationen ska kunna användas behöver den integreras med det övriga systemet. För att integrationen krävs främst att indata ska bearbetas som en ström av realtidsinsamladdata, istället för att läsas in från fil. För att systemet ska kunna utnyttja detektionsresultatet behöver det tillgängliggöras för andra delar av systemet på ett lämpligt sätt.

För att garantera att applikationen kan bearbeta all insamlad radardata i det tänkta systemet behöver den anpassas för att exekvera under realtidsförhållanden. I prestandaanalysen användes medelvärden av exekveringstiden för att besvara om det är möjligt att behandla all data i realtid. Under drift måste applikationen vara kapabel att hantera oförutsedda fördröjningar som gör att exekveringstiden avviker markant från medelvärdet. Beroende på hur systemet kommer att vara uppbyggt och designat kan applikationen även behöva anpassas för hur fördröjningar i föregående och efterföljande steg ska hanteras, till exempel om indata inte finns tillgängligt i tid.

Referenser

[1] B. Larsson, R. Ragnarsson, and O. Steinvall, “System Analysis : Sensor Systems for Detection of Small Surface Vessels at Sea,” FOI Memo 3870, Linköping, Sweden, 2011.

[2] R. Ragnarsson, B. Larsson, and O. Steinvall, “An Approach to a Combined Sensor System for Detection and Classification of Small Surface Vessels.” Linköping, Sweden.

[3] R. Ragnarsson, A. Nelander, G. Stenström, and B. Larsson, “Metoder för detektion av små sjömål med radar,” FOI Memo 3641, Linköping, Sweden, 2011.

[4] J. Karlholm, M. Karlsson, and J. Nilsson, “Signalbehandling med nya processorarkitekturer,” FOI Report FOI-R--2924--SE, Sweden, 2009.

[5] M. Blom and P. Follo, “VHF SAR image formation implemented on a GPU,” Swedish Defence Reseach Agency (FOI), Linköping, Sweden, 2005.

[6] J. Pettersson and I. Wainwright, “Radar Signal Processing with Graphics Processors ( GPUs ),” Uppsala universitet, 2010.

[7] A. Peternier, M. Defilippi, P. Pasquali, A. Cantone, R. Krause, R. Vitulli, F. Ogushi, and A. Meroni, “Performance Analysis of GPU-based SAR and Interferometric SAR image processing,” in Asia-Pacific Conference on

Synthetic Aperture Radar (APSAR), 2013.

[8] B. Liu, K. Wang, X. Liu, and W. Yu, “An Efficient SAR Processor Based on GPU via CUDA,” in 2009 2nd International Congress on Image and Signal

Processing, 2009, pp. 1–5.

[9] C. J. Venter, H. Grobler, and K. a. AlMalki, “Implementation of the CA-CFAR algorithm for pulsed-Doppler radar on a GPU architecture,” in 2011 IEEE

Jordan Conference on Applied Electrical Engineering and Computing Technologies (AEECT), 2011, vol. 1, no. 1, pp. 1–6.

[10] W. Xue and Y. Jiang, “Simulation of Fast Threshold CFAR Processing Algorithm with CUDA,” in 2012 International Conference on Computer

Distributed Control and Intelligent Environmental Monitoring, 2012, pp. 621–

624.

[11] M. R. Bales, T. Benson, R. Dickerson, D. Campbell, and R. Hersey, “Real-time implementations of ordered-statistic CFAR,” in 2012 IEEE Radar Conference, 2012, pp. 0896–0901.

[12] R. J. Sullivan, Radar Foundations for Imaging and Advanced Concepts. Scitech publishing, inc., 2004.

[13] M. A. Richards, J. A. Scheer, and W. A. Holm, Principles of Modern Radar

Vol. I: Basic Principles. SciTech Publishing, inc, 2010.

[14] M. A. Richards, Fundamentals of Radar Signal Processing. McGraw-Hill, 2005.

[15] B. R. Mahafza, Radar Systems Analysis and Design Using MATLAB, 2nd ed. Chapman & Hall/CRC, 2005.

[16] J. H. McClellan, R. W. Schafer, and M. A. Yoder, Signal Processing First. Tom Robbins, 2003.

[17] D. Rodriguez, “Introduction to Linear and Cyclic Convolution.” [Online]. Available: http://www.ece.uprm.edu/~domingo/teaching/inel6050/Linear- Cyclic_Conv_Intro.pdf.

[18] M. Soumekh, Synthetic Aperture Radar Signal Processing. John Wiley & Sons, INC, 1999.

[19] R. Ragnarsson, T. Jonsson, B. Larsson, G. Stenström, and L. L. H. Ulander, “Combined Sensor System for Small Vessel Detection and Tracking for Maritime Domain Awareness,” in Proc. TAMSEC 2011, 2nd National

Symposium on Technology and Methodology for Security and Crisis Management, 2011, vol. 7684, p. 56.

[20] H. Rohling, “Radar CFAR Thresholding in Clutter and Multiple Target Situations,” IEEE Trans. Aerosp. Electron. Syst., vol. AES-19, no. 4, pp. 608– 621, 1983.

[21] “CUDA C Programming Guide,” 2014. [Online]. Available: http://docs.nvidia.com/cuda/cuda-c-programming-guide/.

[22] R. Farber, CUDA Application Design and Development. Elsevier Inc, 2011. [23] M. Garland and D. B. Kirk, “Understanding Throughput-Oriented

Architectures,” Commun. ACM, vol. 53, no. 11, pp. 58–66, 2010. [24] “GeForce GTX 680 Whitepaper.” [Online]. Available:

http://international.download.nvidia.com/webassets/en_US/pdf/GeForce-GTX- 680-Whitepaper-FINAL.pdf.

[25] “Nvidia kepler GK110 Architecture Whitepaper.” [Online]. Available: http://www.nvidia.com/content/PDF/kepler/NVIDIA-Kepler-GK110- Architecture-Whitepaper.pdf.

[26] “CUDA C Best Practices Guide.pdf,” 2014. [Online]. Available: http://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html.

[27] “OpenCL and the AMD APP SDK v2.4,” 2011. [Online]. Available: http://developer.amd.com/resources/documentation-articles/articles- whitepapers/opencl-and-the-amd-app-sdk-v2-4/.

[28] “CUFFT LIBRARY USER ’ S GUIDE,” 2014. [Online]. Available: http://docs.nvidia.com/cuda/cufft/.

[29] H. Nguyen, GPU gems 3. Addison-Wesley Professional, 2007.

[30] “Kepler Compatibility Guide for CUDA Applications.” [Online]. Available: https://www.clear.rice.edu/comp422/resources/cuda/html/kepler-compatibility- guide/index.html#kepler-compatibility.

[31] “Maxwell Compatibility Guide for CUDA Applications.” [Online]. Available: http://docs.nvidia.com/cuda/maxwell-compatibility-guide/.

Linköping University Electronic Press

Upphovsrätt

Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare –från

publiceringsdatum under förutsättning att inga extraordinära omständigheter

uppstår.

Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner,

skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för icke-

kommersiell forskning och för undervisning. Överföring av upphovsrätten vid en

senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av

dokumentet kräver upphovsmannens medgivande. För att garantera äktheten,

säkerheten och tillgängligheten finns lösningar av teknisk och administrativ art.

Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i

den omfattning som god sed kräver vid användning av dokumentet på ovan be-

skrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form

eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller

konstnärliga anseende eller egenart.

För ytterligare information om Linköping University Electronic Press se för-

lagets hemsida http://www.ep.liu.se/

Copyright

The publishers will keep this document online on the Internet – or its possible

replacement –from the date of publication barring exceptional circumstances.

The online availability of the document implies permanent permission for

anyone to read, to download, or to print out single copies for his/hers own use and

to use it unchanged for non-commercial research and educational purpose.

Subsequent transfers of copyright cannot revoke this permission. All other uses

of the document are conditional upon the consent of the copyright owner. The

publisher has taken technical and administrative measures to assure authenticity,

security and accessibility.

According to intellectual property law the author has the right to be mentioned

when his/her work is accessed as described above and to be protected against

infringement.

For additional information about the Linköping University Electronic Press

and its procedures for publication and for assurance of document integrity, please

refer to its www home page: http://www.ep.liu.se/.

Related documents