SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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 2017Yu-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 - Posterrvernica
 
Infinum Android Talks #20 - DiffUtil
Infinum Android Talks #20 - DiffUtilInfinum Android Talks #20 - DiffUtil
Infinum Android Talks #20 - DiffUtilInfinum
 
Part 3-functions
Part 3-functionsPart 3-functions
Part 3-functionsankita44
 
Multilayer Slides
Multilayer  SlidesMultilayer  Slides
Multilayer SlidesESCOM
 
Chainer ui v0.3 and imagereport
Chainer ui v0.3 and imagereportChainer ui v0.3 and imagereport
Chainer ui v0.3 and imagereportPreferred Networks
 
[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 2017Yu-Hsun (lymanblue) Lin
 
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 StudyKim Herzig
 
PyTorch crash course
PyTorch crash coursePyTorch crash course
PyTorch crash courseNader 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 sparkMila, Université de Montréal
 
Javascript Function
Javascript FunctionJavascript Function
Javascript Functionxxbeta
 
Pathfinding - Part 2: Examples in Unity
Pathfinding - Part 2: Examples in UnityPathfinding - Part 2: Examples in Unity
Pathfinding - Part 2: Examples in UnityStavros Vassos
 

Was ist angesagt? (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
 

Andere mochten auch

Generic properties of infinite groups
Generic properties of infinite groupsGeneric properties of infinite groups
Generic properties of infinite groupsIgor Rivin
 
Taleb interaction
Taleb interactionTaleb interaction
Taleb interactionIgor Rivin
 
Conformal matching
Conformal matchingConformal matching
Conformal matchingIgor 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 mathematicsIgor 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 setsIgor Rivin
 
An up to date resume.
An up to date resume.An up to date resume.
An up to date resume.Igor Rivin
 
Random 3-manifolds
Random 3-manifoldsRandom 3-manifolds
Random 3-manifoldsIgor Rivin
 
Random 3-manifolds
Random 3-manifoldsRandom 3-manifolds
Random 3-manifoldsIgor Rivin
 
BMS scolloquium
BMS scolloquiumBMS scolloquium
BMS scolloquiumIgor 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 nightmareIgor 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 meetupIgor Rivin
 
Geometry, combinatorics, computation with Zeolites
Geometry, combinatorics, computation with ZeolitesGeometry, combinatorics, computation with Zeolites
Geometry, combinatorics, computation with ZeolitesIgor Rivin
 

Andere mochten auch (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
 

Kürzlich hochgeladen

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Kürzlich hochgeladen (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

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