SlideShare a Scribd company logo
Transparent Python Bindings for CULA
                                                                                                                               http://www.math.temple.edu/research/geometry/PyCULA/
                                                                   Garrett Wright and Dr. Louis Theran




Complete CULA support                                                               Confused about how to use gpu_syev?                                                       In order to sort through the enormous database
Complete PyCUDA support                                                                   From Python, just type help(gpu_syev)                                               of hypothetical structures we are implementing
Mix Kernel and Runtime code                                                                                                                                                   spectral analysis. Specifically we are
                                                                                     Help on function gpu_syev in module PyCULA.cula:
Interpreter Friendly!                                                                                                                                                         performing log(Det()) of an energy function
                                                                                     gpu_syev(A, vectors=False, uplo='U')
Combine the power of Python Modules                                                   Takes symmetric matrix as np.array and returns eigenvalues (optionally eigenvectors)    weighted adjacency matrix.
                                                                                     as np.array.
Interfaces directly with Numpy
                                                                                       Keyword arguments:
Integration with PyCUDA                                                               A -- input matrix as np.array, symmetric
                                                                                                                                                                               Having PyCULA to integrate sparse expansion
Memory Management                                                                     vectors -- default == False; use 'True' to compute vectors.                             kernels, GPU accelerated LAPACK, and add a
                                                                                     uplo -- Defines whether input array has data in Upper or Lower half using 'U' or 'L'
Super Simple Syntax:                                                                respectively                                                                              Pythonic interface is a priceless utility.
                                                                                             default=='U'

 >>> from PyCULA.cula import * # Load PyCULA                                           Note: When vectors==False, gpu_syev returns only the eigenvalues.
 >>> a = numpy.array([[1.,1.],[0.,1.]])            # CreateData                           When vectors==True, gpu_syev returns tuple (eigenvalues,eigenvectors)               from PyCULA.cula import *
 >>>culaInitialize()                # Initialize Device                              (END)                                                                                    from PyCULA.my_init import *
 >>> print gpu_svd(a)                              # Perform SVD                                                                                                              import numpy as np
 [ 1.61803399 0.61803399]           # Printed Results                                                                                                                         import atexit
 >>>culaShutdown()                  # Shutdown Device                                                                                                                         import kernel_modules     #import custom kernel module code

                                                                                                                                                                              pycuda_init_once()
                                                                                                                                                                              culaInitialize()
                                                                                                                                                                              atexit.register(cula.culaShutdown)

                                                                                                                                                                              # This is an adjacency list, a *condensed* form of a larger sparse adjacency
                                                                                                                                                                              matrix.
Integrate SQL databases for your scientific                                                                                                                                  E=np.array([[1 , 2 ],[ 1 , 16 ], [3 , 4 ],[ 4 , 5 ],
Data                                                                                                                                                                          [ 6 , 7 ],[ 7 , 8 ],[ 8 , 9 ],[ 8 , 5 ],[ 9 , 10 ],
                                                                                                                                                                              [ 9 , 4 ],[ 19 , 16 ],[ 20 , 1 ]], dtype=np.float32)
Use Scipy to read and write to MATLAB files
Simple parsing code                                                                                                                                                          # expand reduced form into full matrix using GPGPU kernel
                                                                                                                                                                              M_ = kernel_modules.gpu_expand_kernel(E)
Easily execute multiple instances via
                                                                                                                                                                              eigvals = gpu_devsyev(M_) # run CULA syevon GPU array M_
subprocess
Prototype or compute within the interpreter;
No need to manually compile!
Write a single program to code optimized
programs on the fly                                                                                                                                                           Atlas of Prospective Zeolite Structures
                                                                                                                                                                              http://www.hypotheticalzeolites.net/
Easily compress and extract data with gzip
and zlib modules                                                                                                                                                              Many thanks to the NSF for funding our research into the
Take advantage of automatic memory                                                  This is a hypothetical zeolite structure. We                                             computational physics of zeolites.
management; Helps write leak free code!                                              currently have a database of over 2 million such
Simple, short, clean code helps prevent bugs!                                       structures, yet only a few have been discovered
                                                                                     in nature

More Related Content

What's hot

PyTorch Tutorial for NTU Machine Learing Course 2017
PyTorch Tutorial for NTU Machine Learing Course 2017PyTorch Tutorial for NTU Machine Learing Course 2017
PyTorch Tutorial for NTU Machine Learing Course 2017
Yu-Hsun (lymanblue) Lin
 
Efficient Parallel Set-Similarity Joins Using MapReduce - Poster
Efficient Parallel Set-Similarity Joins Using MapReduce - PosterEfficient Parallel Set-Similarity Joins Using MapReduce - Poster
Efficient Parallel Set-Similarity Joins Using MapReduce - Poster
rvernica
 
Infinum Android Talks #20 - DiffUtil
Infinum Android Talks #20 - DiffUtilInfinum Android Talks #20 - DiffUtil
Infinum Android Talks #20 - DiffUtil
Infinum
 
Functions123
Functions123 Functions123
Functions123
sandhubuta
 
Functions12
Functions12Functions12
Functions12
sandhubuta
 
Part 3-functions
Part 3-functionsPart 3-functions
Part 3-functions
ankita44
 
Multilayer Slides
Multilayer  SlidesMultilayer  Slides
Multilayer Slides
ESCOM
 
Welcome to python
Welcome to pythonWelcome to python
Welcome to python
Kyunghoon Kim
 
Chainer ui v0.3 and imagereport
Chainer ui v0.3 and imagereportChainer ui v0.3 and imagereport
Chainer ui v0.3 and imagereport
Preferred Networks
 
JSTLQuick Reference
JSTLQuick ReferenceJSTLQuick Reference
JSTLQuick Reference
Hicham QAISSI
 
[Update] PyTorch Tutorial for NTU Machine Learing Course 2017
[Update] PyTorch Tutorial for NTU Machine Learing Course 2017[Update] PyTorch Tutorial for NTU Machine Learing Course 2017
[Update] PyTorch Tutorial for NTU Machine Learing Course 2017
Yu-Hsun (lymanblue) Lin
 
Stack switching for fun and profit
Stack switching for fun and profitStack switching for fun and profit
Stack switching for fun and profit
Saúl Ibarra Corretgé
 
Grid gain paper
Grid gain paperGrid gain paper
Grid gain paper
SubhashiniSukumar
 
Network vs. Code Metrics to Predict Defects: A Replication Study
Network vs. Code Metrics  to Predict Defects: A Replication StudyNetwork vs. Code Metrics  to Predict Defects: A Replication Study
Network vs. Code Metrics to Predict Defects: A Replication Study
Kim Herzig
 
PyTorch crash course
PyTorch crash coursePyTorch crash course
PyTorch crash course
Nader Karimi
 
Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)
fefe7270
 
Large scale logistic regression and linear support vector machines using spark
Large scale logistic regression and linear support vector machines using sparkLarge scale logistic regression and linear support vector machines using spark
Large scale logistic regression and linear support vector machines using spark
Mila, Université de Montréal
 
Javascript Function
Javascript FunctionJavascript Function
Javascript Function
xxbeta
 
Pathfinding - Part 2: Examples in Unity
Pathfinding - Part 2: Examples in UnityPathfinding - Part 2: Examples in Unity
Pathfinding - Part 2: Examples in Unity
Stavros Vassos
 
Fast Forward To Scala
Fast Forward To ScalaFast Forward To Scala
Fast Forward To Scala
Martin Kneissl
 

What's hot (20)

PyTorch Tutorial for NTU Machine Learing Course 2017
PyTorch Tutorial for NTU Machine Learing Course 2017PyTorch Tutorial for NTU Machine Learing Course 2017
PyTorch Tutorial for NTU Machine Learing Course 2017
 
Efficient Parallel Set-Similarity Joins Using MapReduce - Poster
Efficient Parallel Set-Similarity Joins Using MapReduce - PosterEfficient Parallel Set-Similarity Joins Using MapReduce - Poster
Efficient Parallel Set-Similarity Joins Using MapReduce - Poster
 
Infinum Android Talks #20 - DiffUtil
Infinum Android Talks #20 - DiffUtilInfinum Android Talks #20 - DiffUtil
Infinum Android Talks #20 - DiffUtil
 
Functions123
Functions123 Functions123
Functions123
 
Functions12
Functions12Functions12
Functions12
 
Part 3-functions
Part 3-functionsPart 3-functions
Part 3-functions
 
Multilayer Slides
Multilayer  SlidesMultilayer  Slides
Multilayer Slides
 
Welcome to python
Welcome to pythonWelcome to python
Welcome to python
 
Chainer ui v0.3 and imagereport
Chainer ui v0.3 and imagereportChainer ui v0.3 and imagereport
Chainer ui v0.3 and imagereport
 
JSTLQuick Reference
JSTLQuick ReferenceJSTLQuick Reference
JSTLQuick Reference
 
[Update] PyTorch Tutorial for NTU Machine Learing Course 2017
[Update] PyTorch Tutorial for NTU Machine Learing Course 2017[Update] PyTorch Tutorial for NTU Machine Learing Course 2017
[Update] PyTorch Tutorial for NTU Machine Learing Course 2017
 
Stack switching for fun and profit
Stack switching for fun and profitStack switching for fun and profit
Stack switching for fun and profit
 
Grid gain paper
Grid gain paperGrid gain paper
Grid gain paper
 
Network vs. Code Metrics to Predict Defects: A Replication Study
Network vs. Code Metrics  to Predict Defects: A Replication StudyNetwork vs. Code Metrics  to Predict Defects: A Replication Study
Network vs. Code Metrics to Predict Defects: A Replication Study
 
PyTorch crash course
PyTorch crash coursePyTorch crash course
PyTorch crash course
 
Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)
 
Large scale logistic regression and linear support vector machines using spark
Large scale logistic regression and linear support vector machines using sparkLarge scale logistic regression and linear support vector machines using spark
Large scale logistic regression and linear support vector machines using spark
 
Javascript Function
Javascript FunctionJavascript Function
Javascript Function
 
Pathfinding - Part 2: Examples in Unity
Pathfinding - Part 2: Examples in UnityPathfinding - Part 2: Examples in Unity
Pathfinding - Part 2: Examples in Unity
 
Fast Forward To Scala
Fast Forward To ScalaFast Forward To Scala
Fast Forward To Scala
 

Viewers also liked

Generic properties of infinite groups
Generic properties of infinite groupsGeneric properties of infinite groups
Generic properties of infinite groups
Igor Rivin
 
Taleb interaction
Taleb interactionTaleb interaction
Taleb interaction
Igor Rivin
 
Conformal matching
Conformal matchingConformal matching
Conformal matching
Igor Rivin
 
Bursting bubbles or what recovery?
Bursting bubbles or what recovery?Bursting bubbles or what recovery?
Bursting bubbles or what recovery?
Igor Rivin
 
Finite mathematics
Finite mathematicsFinite mathematics
Finite mathematics
Igor Rivin
 
Talk at Quantopian.com quant finance meetup.
Talk at Quantopian.com quant finance meetup.Talk at Quantopian.com quant finance meetup.
Talk at Quantopian.com quant finance meetup.
Igor Rivin
 
Asymptotic geometry of convex sets
Asymptotic geometry of convex setsAsymptotic geometry of convex sets
Asymptotic geometry of convex sets
Igor Rivin
 
An up to date resume.
An up to date resume.An up to date resume.
An up to date resume.
Igor Rivin
 
Hot topics
Hot topicsHot topics
Hot topics
Igor Rivin
 
Random 3-manifolds
Random 3-manifoldsRandom 3-manifolds
Random 3-manifolds
Igor Rivin
 
Random 3-manifolds
Random 3-manifoldsRandom 3-manifolds
Random 3-manifolds
Igor Rivin
 
BMS scolloquium
BMS scolloquiumBMS scolloquium
BMS scolloquium
Igor Rivin
 
Computing with matrix groups, or "how dense is dense"
Computing with matrix groups, or "how dense is dense"Computing with matrix groups, or "how dense is dense"
Computing with matrix groups, or "how dense is dense"
Igor Rivin
 
Ike's nightmare
Ike's nightmareIke's nightmare
Ike's nightmare
Igor Rivin
 
The bubble bursts, or: what recovery?
The bubble bursts, or: what recovery?The bubble bursts, or: what recovery?
The bubble bursts, or: what recovery?
Igor Rivin
 
Talk at the quantopian Boston meetup
Talk at the quantopian Boston meetupTalk at the quantopian Boston meetup
Talk at the quantopian Boston meetup
Igor Rivin
 
Geometry, combinatorics, computation with Zeolites
Geometry, combinatorics, computation with ZeolitesGeometry, combinatorics, computation with Zeolites
Geometry, combinatorics, computation with Zeolites
Igor Rivin
 
Montreal
MontrealMontreal
Montreal
Igor Rivin
 

Viewers also liked (18)

Generic properties of infinite groups
Generic properties of infinite groupsGeneric properties of infinite groups
Generic properties of infinite groups
 
Taleb interaction
Taleb interactionTaleb interaction
Taleb interaction
 
Conformal matching
Conformal matchingConformal matching
Conformal matching
 
Bursting bubbles or what recovery?
Bursting bubbles or what recovery?Bursting bubbles or what recovery?
Bursting bubbles or what recovery?
 
Finite mathematics
Finite mathematicsFinite mathematics
Finite mathematics
 
Talk at Quantopian.com quant finance meetup.
Talk at Quantopian.com quant finance meetup.Talk at Quantopian.com quant finance meetup.
Talk at Quantopian.com quant finance meetup.
 
Asymptotic geometry of convex sets
Asymptotic geometry of convex setsAsymptotic geometry of convex sets
Asymptotic geometry of convex sets
 
An up to date resume.
An up to date resume.An up to date resume.
An up to date resume.
 
Hot topics
Hot topicsHot topics
Hot topics
 
Random 3-manifolds
Random 3-manifoldsRandom 3-manifolds
Random 3-manifolds
 
Random 3-manifolds
Random 3-manifoldsRandom 3-manifolds
Random 3-manifolds
 
BMS scolloquium
BMS scolloquiumBMS scolloquium
BMS scolloquium
 
Computing with matrix groups, or "how dense is dense"
Computing with matrix groups, or "how dense is dense"Computing with matrix groups, or "how dense is dense"
Computing with matrix groups, or "how dense is dense"
 
Ike's nightmare
Ike's nightmareIke's nightmare
Ike's nightmare
 
The bubble bursts, or: what recovery?
The bubble bursts, or: what recovery?The bubble bursts, or: what recovery?
The bubble bursts, or: what recovery?
 
Talk at the quantopian Boston meetup
Talk at the quantopian Boston meetupTalk at the quantopian Boston meetup
Talk at the quantopian Boston meetup
 
Geometry, combinatorics, computation with Zeolites
Geometry, combinatorics, computation with ZeolitesGeometry, combinatorics, computation with Zeolites
Geometry, combinatorics, computation with Zeolites
 
Montreal
MontrealMontreal
Montreal
 

Recently uploaded

Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
christinelarrosa
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 

Recently uploaded (20)

Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 

Gtc 2010 py_cula_better

  • 1. Transparent Python Bindings for CULA http://www.math.temple.edu/research/geometry/PyCULA/ Garrett Wright and Dr. Louis Theran Complete CULA support Confused about how to use gpu_syev? In order to sort through the enormous database Complete PyCUDA support From Python, just type help(gpu_syev) of hypothetical structures we are implementing Mix Kernel and Runtime code spectral analysis. Specifically we are Help on function gpu_syev in module PyCULA.cula: Interpreter Friendly! performing log(Det()) of an energy function gpu_syev(A, vectors=False, uplo='U') Combine the power of Python Modules Takes symmetric matrix as np.array and returns eigenvalues (optionally eigenvectors) weighted adjacency matrix. as np.array. Interfaces directly with Numpy Keyword arguments: Integration with PyCUDA A -- input matrix as np.array, symmetric Having PyCULA to integrate sparse expansion Memory Management vectors -- default == False; use 'True' to compute vectors. kernels, GPU accelerated LAPACK, and add a uplo -- Defines whether input array has data in Upper or Lower half using 'U' or 'L' Super Simple Syntax: respectively Pythonic interface is a priceless utility. default=='U' >>> from PyCULA.cula import * # Load PyCULA Note: When vectors==False, gpu_syev returns only the eigenvalues. >>> a = numpy.array([[1.,1.],[0.,1.]]) # CreateData When vectors==True, gpu_syev returns tuple (eigenvalues,eigenvectors) from PyCULA.cula import * >>>culaInitialize() # Initialize Device (END) from PyCULA.my_init import * >>> print gpu_svd(a) # Perform SVD import numpy as np [ 1.61803399 0.61803399] # Printed Results import atexit >>>culaShutdown() # Shutdown Device import kernel_modules #import custom kernel module code pycuda_init_once() culaInitialize() atexit.register(cula.culaShutdown) # This is an adjacency list, a *condensed* form of a larger sparse adjacency matrix. Integrate SQL databases for your scientific E=np.array([[1 , 2 ],[ 1 , 16 ], [3 , 4 ],[ 4 , 5 ], Data [ 6 , 7 ],[ 7 , 8 ],[ 8 , 9 ],[ 8 , 5 ],[ 9 , 10 ], [ 9 , 4 ],[ 19 , 16 ],[ 20 , 1 ]], dtype=np.float32) Use Scipy to read and write to MATLAB files Simple parsing code # expand reduced form into full matrix using GPGPU kernel M_ = kernel_modules.gpu_expand_kernel(E) Easily execute multiple instances via eigvals = gpu_devsyev(M_) # run CULA syevon GPU array M_ subprocess Prototype or compute within the interpreter; No need to manually compile! Write a single program to code optimized programs on the fly Atlas of Prospective Zeolite Structures http://www.hypotheticalzeolites.net/ Easily compress and extract data with gzip and zlib modules Many thanks to the NSF for funding our research into the Take advantage of automatic memory This is a hypothetical zeolite structure. We computational physics of zeolites. management; Helps write leak free code! currently have a database of over 2 million such Simple, short, clean code helps prevent bugs! structures, yet only a few have been discovered in nature