SlideShare uma empresa Scribd logo
1 de 14
USING PARALLEL PROGRAMMING TO
IMPROVE PERFORMANCE OF IMAGE
PROCESSING
Chan Le – KAIST ’13
INTRODUCTION
   Me:
     Chan Le – 3rd year undergraduate student
     Double major in Computer Science & Management Science
     A Vietnamese - KAIST ’13


   Professor:
     Won-Ki Jeong
     GPU-accelerated large-scale biomedical image processing


   Project:
       Apply parallel programming to improve performance of image
        processing
MOTIVATION
   Biomedical researches work with images
       Really big images
           Take long time to process
     Raw images are hard to analyze & use for research
     Really noisy sometimes
           Need to preprocess before using
 Image preprocessing using serial algorithms are
  slow
 Nowadays, parallel computing are developing
       Thanks to the popularity of multi-core CPUs and GPUs
RELATED WORKS: USING PDE IN NOISE-
REDUCTION
                                               IN
                                             (x,y+1
                           ΔW = IW – It
                                                )
                                             ΔN

                               IW       ΔW        It   ΔE     IE
                              (x-1,y)         (x,y)         (x+1,y)
                                             ΔS
                                               IS
                                              (x,y-
                                               1)

   Heat equation
       At pixel every (x,y) of the image at the time t:
          I =It+ΔI
         t+1

                           ΔI = (ΔW+ ΔN+ ΔE+ ΔS) / 4
RELATED WORKS: ANISOTROPIC DIFFUSION
   Paper: Scale-space and edge detection using
    anisotropic diffusion (Pietro Perona & Jitendra Malik, 1990)
      Basic idea: Adding coefficient to each ΔW,ΔN,ΔS,ΔE
            .


   
                                         /4
   How to calculate each c?
    C=


    C=
RELATED WORKS
NVIDIA CUDA
   Serial vs Parallel program
      Thread: unit of processing
      In the past: CPU has only 1 core -> 1 thread at a time
      Nowadays: multi-cores -> multiple thread at a time


   CUDA™ is a parallel computing platform and
    programming model invented by NVIDIA.
   http://www.nvidia.com/object/cuda_home_new.html



   How could it helps?
      CPU: 1-6 cores
      GPU: hundreds
             improve performance by the scale of 10 to 100, depends on
             the algorithm
MY IMPLEMENTATION
   Implement Anisotropic
    Diffusion on CUDA
    platform

 1 thread handle 1 pixel
 Dividing the image to
  multiple sub-regions,
  process them parallely to
  exploit multiple cores
SOME RESULT – SMALL
SOME RESULT – SMALL
SOME RESULT – MEDIUM
SOME RESULT – MEDIUM
BENCHMARK
   100 times iteration
CONCLUSION
   The result of this project could be use to help
    improving quality of images before using.

 Utilizing GPU computing power could improve the
  performance of your program by 100-200 times
 Partial Differential Equations are good choices
  when design parallel algorithm
 However, the performance is limited by the GPU’s
  memory size

Mais conteúdo relacionado

Mais procurados

GAN - Theory and Applications
GAN - Theory and ApplicationsGAN - Theory and Applications
GAN - Theory and ApplicationsEmanuele Ghelfi
 
Math behind the kernels
Math behind the kernelsMath behind the kernels
Math behind the kernelsRevanth Kumar
 
About Unsupervised Image-to-Image Translation
About Unsupervised Image-to-Image TranslationAbout Unsupervised Image-to-Image Translation
About Unsupervised Image-to-Image TranslationMehdi Shibahara
 
MLIP - Chapter 3 - Introduction to deep learning
MLIP - Chapter 3 - Introduction to deep learningMLIP - Chapter 3 - Introduction to deep learning
MLIP - Chapter 3 - Introduction to deep learningCharles Deledalle
 
Object classification using deep neural network
Object classification using deep neural networkObject classification using deep neural network
Object classification using deep neural networknishakushwah4
 
Lecture32
Lecture32Lecture32
Lecture32zukun
 
Large scale object recognition (AMMAI presentation)
Large scale object recognition (AMMAI presentation)Large scale object recognition (AMMAI presentation)
Large scale object recognition (AMMAI presentation)Po-Jen Lai
 
07 regularization
07 regularization07 regularization
07 regularizationRonald Teo
 
Machine learning in R
Machine learning in RMachine learning in R
Machine learning in Rapolol92
 
Implementation of optimized diamond search algorithm
Implementation of optimized diamond search algorithmImplementation of optimized diamond search algorithm
Implementation of optimized diamond search algorithmnaeemtayyab
 
Machine Learning: Make Your Ruby Code Smarter
Machine Learning: Make Your Ruby Code SmarterMachine Learning: Make Your Ruby Code Smarter
Machine Learning: Make Your Ruby Code SmarterAstrails
 
2013.10.24 big datavisualization
2013.10.24 big datavisualization2013.10.24 big datavisualization
2013.10.24 big datavisualizationSean Kandel
 
Epsrcws08 campbell isvm_01
Epsrcws08 campbell isvm_01Epsrcws08 campbell isvm_01
Epsrcws08 campbell isvm_01Cheng Feng
 
Matrix Factorizations for Recommender Systems
Matrix Factorizations for Recommender SystemsMatrix Factorizations for Recommender Systems
Matrix Factorizations for Recommender SystemsDmitriy Selivanov
 
Generative Adversarial Networks
Generative Adversarial NetworksGenerative Adversarial Networks
Generative Adversarial NetworksMustafa Yagmur
 

Mais procurados (20)

GAN - Theory and Applications
GAN - Theory and ApplicationsGAN - Theory and Applications
GAN - Theory and Applications
 
Math behind the kernels
Math behind the kernelsMath behind the kernels
Math behind the kernels
 
About Unsupervised Image-to-Image Translation
About Unsupervised Image-to-Image TranslationAbout Unsupervised Image-to-Image Translation
About Unsupervised Image-to-Image Translation
 
MLIP - Chapter 3 - Introduction to deep learning
MLIP - Chapter 3 - Introduction to deep learningMLIP - Chapter 3 - Introduction to deep learning
MLIP - Chapter 3 - Introduction to deep learning
 
Object classification using deep neural network
Object classification using deep neural networkObject classification using deep neural network
Object classification using deep neural network
 
Lecture32
Lecture32Lecture32
Lecture32
 
Large scale object recognition (AMMAI presentation)
Large scale object recognition (AMMAI presentation)Large scale object recognition (AMMAI presentation)
Large scale object recognition (AMMAI presentation)
 
07 regularization
07 regularization07 regularization
07 regularization
 
Machine learning in R
Machine learning in RMachine learning in R
Machine learning in R
 
Implementation of optimized diamond search algorithm
Implementation of optimized diamond search algorithmImplementation of optimized diamond search algorithm
Implementation of optimized diamond search algorithm
 
Machine Learning: Make Your Ruby Code Smarter
Machine Learning: Make Your Ruby Code SmarterMachine Learning: Make Your Ruby Code Smarter
Machine Learning: Make Your Ruby Code Smarter
 
2013.10.24 big datavisualization
2013.10.24 big datavisualization2013.10.24 big datavisualization
2013.10.24 big datavisualization
 
Image transforms
Image transformsImage transforms
Image transforms
 
Epsrcws08 campbell isvm_01
Epsrcws08 campbell isvm_01Epsrcws08 campbell isvm_01
Epsrcws08 campbell isvm_01
 
Matrix Factorizations for Recommender Systems
Matrix Factorizations for Recommender SystemsMatrix Factorizations for Recommender Systems
Matrix Factorizations for Recommender Systems
 
Hebb network
Hebb networkHebb network
Hebb network
 
NCM LECTURE NOTES ON I . n. herestein cryptography(3)
NCM LECTURE NOTES ON  I . n. herestein cryptography(3)NCM LECTURE NOTES ON  I . n. herestein cryptography(3)
NCM LECTURE NOTES ON I . n. herestein cryptography(3)
 
Generative Adversarial Networks
Generative Adversarial NetworksGenerative Adversarial Networks
Generative Adversarial Networks
 
Deep Neural Network
Deep Neural NetworkDeep Neural Network
Deep Neural Network
 
20100822 computervision veksler
20100822 computervision veksler20100822 computervision veksler
20100822 computervision veksler
 

Semelhante a Using parallel programming to improve performance of image processing

H2O Distributed Deep Learning by Arno Candel 071614
H2O Distributed Deep Learning by Arno Candel 071614H2O Distributed Deep Learning by Arno Candel 071614
H2O Distributed Deep Learning by Arno Candel 071614Sri Ambati
 
ICCV2009: MAP Inference in Discrete Models: Part 2
ICCV2009: MAP Inference in Discrete Models: Part 2ICCV2009: MAP Inference in Discrete Models: Part 2
ICCV2009: MAP Inference in Discrete Models: Part 2zukun
 
Discrete Models in Computer Vision
Discrete Models in Computer VisionDiscrete Models in Computer Vision
Discrete Models in Computer VisionYap Wooi Hen
 
05 history of cv a machine learning (theory) perspective on computer vision
05  history of cv a machine learning (theory) perspective on computer vision05  history of cv a machine learning (theory) perspective on computer vision
05 history of cv a machine learning (theory) perspective on computer visionzukun
 
15_wk4_unsupervised-learning_manifold-EM-cs365-2014.pdf
15_wk4_unsupervised-learning_manifold-EM-cs365-2014.pdf15_wk4_unsupervised-learning_manifold-EM-cs365-2014.pdf
15_wk4_unsupervised-learning_manifold-EM-cs365-2014.pdfMcSwathi
 
Fcv hum mach_geman
Fcv hum mach_gemanFcv hum mach_geman
Fcv hum mach_gemanzukun
 
MLHEP Lectures - day 3, basic track
MLHEP Lectures - day 3, basic trackMLHEP Lectures - day 3, basic track
MLHEP Lectures - day 3, basic trackarogozhnikov
 
Digital image processing short quesstion answers
Digital image processing short quesstion answersDigital image processing short quesstion answers
Digital image processing short quesstion answersAteeq Zada
 
From RNN to neural networks for cyclic undirected graphs
From RNN to neural networks for cyclic undirected graphsFrom RNN to neural networks for cyclic undirected graphs
From RNN to neural networks for cyclic undirected graphstuxette
 
Image De-Noising Using Deep Neural Network
Image De-Noising Using Deep Neural NetworkImage De-Noising Using Deep Neural Network
Image De-Noising Using Deep Neural Networkaciijournal
 
DRAW: Deep Recurrent Attentive Writer
DRAW: Deep Recurrent Attentive WriterDRAW: Deep Recurrent Attentive Writer
DRAW: Deep Recurrent Attentive WriterMark Chang
 
A Comparative Study of Image Compression Algorithms
A Comparative Study of Image Compression AlgorithmsA Comparative Study of Image Compression Algorithms
A Comparative Study of Image Compression AlgorithmsIJORCS
 
"Demystifying Deep Neural Networks," a Presentation from BDTI
"Demystifying Deep Neural Networks," a Presentation from BDTI"Demystifying Deep Neural Networks," a Presentation from BDTI
"Demystifying Deep Neural Networks," a Presentation from BDTIEdge AI and Vision Alliance
 
Learning to Rank with Neural Networks
Learning to Rank with Neural NetworksLearning to Rank with Neural Networks
Learning to Rank with Neural NetworksBhaskar Mitra
 
Introduction to ml and dl
Introduction to ml and dlIntroduction to ml and dl
Introduction to ml and dlSuyashSingh70
 
chapter-2 SPACIAL DOMAIN.pptx
chapter-2 SPACIAL DOMAIN.pptxchapter-2 SPACIAL DOMAIN.pptx
chapter-2 SPACIAL DOMAIN.pptxAyeleFeyissa1
 
H2O.ai's Distributed Deep Learning by Arno Candel 04/03/14
H2O.ai's Distributed Deep Learning by Arno Candel 04/03/14H2O.ai's Distributed Deep Learning by Arno Candel 04/03/14
H2O.ai's Distributed Deep Learning by Arno Candel 04/03/14Sri Ambati
 
MLHEP 2015: Introductory Lecture #3
MLHEP 2015: Introductory Lecture #3MLHEP 2015: Introductory Lecture #3
MLHEP 2015: Introductory Lecture #3arogozhnikov
 
Introduction to Deep Neural Network
Introduction to Deep Neural NetworkIntroduction to Deep Neural Network
Introduction to Deep Neural NetworkLiwei Ren任力偉
 

Semelhante a Using parallel programming to improve performance of image processing (20)

H2O Distributed Deep Learning by Arno Candel 071614
H2O Distributed Deep Learning by Arno Candel 071614H2O Distributed Deep Learning by Arno Candel 071614
H2O Distributed Deep Learning by Arno Candel 071614
 
ICCV2009: MAP Inference in Discrete Models: Part 2
ICCV2009: MAP Inference in Discrete Models: Part 2ICCV2009: MAP Inference in Discrete Models: Part 2
ICCV2009: MAP Inference in Discrete Models: Part 2
 
Discrete Models in Computer Vision
Discrete Models in Computer VisionDiscrete Models in Computer Vision
Discrete Models in Computer Vision
 
05 history of cv a machine learning (theory) perspective on computer vision
05  history of cv a machine learning (theory) perspective on computer vision05  history of cv a machine learning (theory) perspective on computer vision
05 history of cv a machine learning (theory) perspective on computer vision
 
15_wk4_unsupervised-learning_manifold-EM-cs365-2014.pdf
15_wk4_unsupervised-learning_manifold-EM-cs365-2014.pdf15_wk4_unsupervised-learning_manifold-EM-cs365-2014.pdf
15_wk4_unsupervised-learning_manifold-EM-cs365-2014.pdf
 
Fcv hum mach_geman
Fcv hum mach_gemanFcv hum mach_geman
Fcv hum mach_geman
 
MLHEP Lectures - day 3, basic track
MLHEP Lectures - day 3, basic trackMLHEP Lectures - day 3, basic track
MLHEP Lectures - day 3, basic track
 
Digital image processing short quesstion answers
Digital image processing short quesstion answersDigital image processing short quesstion answers
Digital image processing short quesstion answers
 
From RNN to neural networks for cyclic undirected graphs
From RNN to neural networks for cyclic undirected graphsFrom RNN to neural networks for cyclic undirected graphs
From RNN to neural networks for cyclic undirected graphs
 
Image De-Noising Using Deep Neural Network
Image De-Noising Using Deep Neural NetworkImage De-Noising Using Deep Neural Network
Image De-Noising Using Deep Neural Network
 
DRAW: Deep Recurrent Attentive Writer
DRAW: Deep Recurrent Attentive WriterDRAW: Deep Recurrent Attentive Writer
DRAW: Deep Recurrent Attentive Writer
 
A Comparative Study of Image Compression Algorithms
A Comparative Study of Image Compression AlgorithmsA Comparative Study of Image Compression Algorithms
A Comparative Study of Image Compression Algorithms
 
"Demystifying Deep Neural Networks," a Presentation from BDTI
"Demystifying Deep Neural Networks," a Presentation from BDTI"Demystifying Deep Neural Networks," a Presentation from BDTI
"Demystifying Deep Neural Networks," a Presentation from BDTI
 
Learning to Rank with Neural Networks
Learning to Rank with Neural NetworksLearning to Rank with Neural Networks
Learning to Rank with Neural Networks
 
Lect3cg2011
Lect3cg2011Lect3cg2011
Lect3cg2011
 
Introduction to ml and dl
Introduction to ml and dlIntroduction to ml and dl
Introduction to ml and dl
 
chapter-2 SPACIAL DOMAIN.pptx
chapter-2 SPACIAL DOMAIN.pptxchapter-2 SPACIAL DOMAIN.pptx
chapter-2 SPACIAL DOMAIN.pptx
 
H2O.ai's Distributed Deep Learning by Arno Candel 04/03/14
H2O.ai's Distributed Deep Learning by Arno Candel 04/03/14H2O.ai's Distributed Deep Learning by Arno Candel 04/03/14
H2O.ai's Distributed Deep Learning by Arno Candel 04/03/14
 
MLHEP 2015: Introductory Lecture #3
MLHEP 2015: Introductory Lecture #3MLHEP 2015: Introductory Lecture #3
MLHEP 2015: Introductory Lecture #3
 
Introduction to Deep Neural Network
Introduction to Deep Neural NetworkIntroduction to Deep Neural Network
Introduction to Deep Neural Network
 

Último

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 

Último (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 

Using parallel programming to improve performance of image processing

  • 1. USING PARALLEL PROGRAMMING TO IMPROVE PERFORMANCE OF IMAGE PROCESSING Chan Le – KAIST ’13
  • 2. INTRODUCTION  Me:  Chan Le – 3rd year undergraduate student  Double major in Computer Science & Management Science  A Vietnamese - KAIST ’13  Professor:  Won-Ki Jeong  GPU-accelerated large-scale biomedical image processing  Project:  Apply parallel programming to improve performance of image processing
  • 3. MOTIVATION  Biomedical researches work with images  Really big images  Take long time to process  Raw images are hard to analyze & use for research  Really noisy sometimes  Need to preprocess before using  Image preprocessing using serial algorithms are slow  Nowadays, parallel computing are developing  Thanks to the popularity of multi-core CPUs and GPUs
  • 4. RELATED WORKS: USING PDE IN NOISE- REDUCTION IN (x,y+1 ΔW = IW – It ) ΔN IW ΔW It ΔE IE (x-1,y) (x,y) (x+1,y) ΔS IS (x,y- 1)  Heat equation  At pixel every (x,y) of the image at the time t: I =It+ΔI  t+1 ΔI = (ΔW+ ΔN+ ΔE+ ΔS) / 4
  • 5. RELATED WORKS: ANISOTROPIC DIFFUSION  Paper: Scale-space and edge detection using anisotropic diffusion (Pietro Perona & Jitendra Malik, 1990)  Basic idea: Adding coefficient to each ΔW,ΔN,ΔS,ΔE  .   /4  How to calculate each c? C= C=
  • 7. NVIDIA CUDA  Serial vs Parallel program  Thread: unit of processing  In the past: CPU has only 1 core -> 1 thread at a time  Nowadays: multi-cores -> multiple thread at a time  CUDA™ is a parallel computing platform and programming model invented by NVIDIA.  http://www.nvidia.com/object/cuda_home_new.html  How could it helps?  CPU: 1-6 cores  GPU: hundreds   improve performance by the scale of 10 to 100, depends on the algorithm
  • 8. MY IMPLEMENTATION  Implement Anisotropic Diffusion on CUDA platform  1 thread handle 1 pixel  Dividing the image to multiple sub-regions, process them parallely to exploit multiple cores
  • 11. SOME RESULT – MEDIUM
  • 12. SOME RESULT – MEDIUM
  • 13. BENCHMARK  100 times iteration
  • 14. CONCLUSION  The result of this project could be use to help improving quality of images before using.  Utilizing GPU computing power could improve the performance of your program by 100-200 times  Partial Differential Equations are good choices when design parallel algorithm  However, the performance is limited by the GPU’s memory size