Giter Site home page Giter Site logo

hands-on-gpu-computing-with-python's Introduction

Hands-On GPU Computing with Python

Hands-On GPU Computing with Python

This is the code repository for Hands-On GPU Computing with Python, published by Packt.

Explore the capabilities of GPUs for solving high performance computational problems

What is this book about?

GPUs are proving to be excellent general purpose-parallel computing solutions for high performance tasks such as deep learning and scientific computing.

This book will be your guide to getting started with GPU computing. It will start with introducing GPU computing and explain the architecture and programming models for GPUs. You will learn, by example, how to perform GPU programming with Python, and you’ll look at using integrations such as PyCUDA, PyOpenCL, CuPy, Numba, Tensorflow, Keras and PyTorch with Anaconda for various tasks such as machine learning, data mining and scientific computing. Going further, you will get to grips with GPU work flows, management, and deployment using modern containerization solutions. Toward the end of the book, you will get familiar with the principles of distributed computing for training machine learning models and enhancing efficiency and performance.

This book covers the following exciting features:

  • Utilize Python libraries and frameworks for GPU acceleration
  • Set up a GPU-enabled programmable machine learning environment on your system with Anaconda
  • Deploy your machine learning system on cloud containers with illustrated examples
  • Explore PyCUDA and PyOpenCL and compare them with platforms such as CUDA, OpenCL and ROCm.
  • Perform data mining tasks with machine learning models on GPUs
  • Extend your knowledge of GPU computing in scientific applications

If you feel this book is for you, get your copy today!

https://www.packtpub.com/

Instructions and Navigations

All of the code is organized into folders. For example, Chapter02.

The code will look like the following:

// Run function on 500 Million elements on the CPU
  begin = clock();
  multiply(N, p, q);
  end = clock();
  cpu_time_used = ((double) (end - begin)) / CLOCKS_PER_SEC;

Following is what you need for this book: Data Scientist, Machine Learning enthusiasts and professionals who wants to get started with GPU computation and perform the complex tasks with low-latency. Intermediate knowledge of Python programming is assumed.

With the following software list you can run all code files present in the book (Chapter 1-11).

Software List

Chapter Software required OS required
2 - 11 PyCharm Community Edition, PyCharm Educational Edition, PyCharm for Anaconda Community Edition, PyCharm Professional Edition, PyCharm for Anaconda Professional Edition, PyDev, Jupyter Notebook, Jupyter Lab, Eric, CUDA, ROCm, Anaconda, CuPy, Numba, Google Colaboratory, Tensorflow, PyTorch, DeepChem Linux (preferably Ubuntu)

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. Click here to download it.

Related products

  • Hands-On GPU-Accelerated Computer Vision with OpenCV and CUDA [Packt] [Amazon]

  • Learn OpenCV 4 By Building Projects - Second Edition [Packt] [Amazon]

Get to Know the Author

Avimanyu Bandyopadhyay is currently pursuing a PhD degree in Bioinformatics based on applied GPU computing in Computational Biology at Heritage Institute of Technology, Kolkata, India. Since 2014, he developed a keen interest in GPU computing, and used CUDA for his master's thesis. He has experience as a systems administrator as well, particularly on the Linux platform. Avimanyu is also a scientific writer, technology communicator, and a passionate gamer. He has published technical writing on open source computing and has actively participated in NVIDIA's GPU computing conferences since 2016. A big-time Linux fan, he strongly believes in the significance of Linux and an open source approach in scientific research. Deep learning with GPUs is his new passion!

Suggestions and Feedback

Click here if you have any feedback or suggestions.

Download a free PDF

If you have already purchased a print or Kindle version of this book, you can get a DRM-free PDF version at no cost.
Simply click on the link to claim your free PDF.

https://packt.link/free-ebook/9781789341072

hands-on-gpu-computing-with-python's People

Contributors

avimanyu786 avatar komalkarne avatar packt-itservice avatar packtutkarshr avatar rudolphte avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hands-on-gpu-computing-with-python's Issues

HyperparamOpt is an abstract superclass and cannot be directly instantiated error

Hello,

I try to optimize the hyperparameters, 11 months ago (deepchem = 2.2) I was able to use it but now it doesn't work.

def rf_model_builder(model_params, model_dir):
sklearn_model = RandomForestRegressor(**model_params)
return dc.models.SklearnModel(sklearn_model, model_dir)
params_dict = {
"n_estimators": [10, 100],
"max_features": ["auto", "sqrt", "log2", None],
}

metric = dc.metrics.Metric(dc.metrics.r2_score)
optimizer = dc.hyper.HyperparamOpt(rf_model_builder)
best_rf, best_rf_hyperparams, all_rf_results = optimizer.hyperparam_search(
params_dict, train_dataset, valid_dataset, transformers,
metric=metric)

File "dc.py", line 107, in
optimizer = dc.hyper.HyperparamOpt(rf_model_builder)
File "/home/kuruntu/anaconda3/lib/python3.8/site-packages/deepchem/hyper/base_classes.py", line 72, in init
raise ValueError(
ValueError: HyperparamOpt is an abstract superclass and cannot be directly instantiated. You probably want to instantiate a concrete subclass instead.

Could you please help me?
Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.