|
|
Books > Computing & IT > Computer hardware & operating systems > Computer architecture & logic design > Parallel processing
Get writing tests and learn to design your own testing framework
with Selenium WebDriver API Key Features Learn Selenium from the
ground up Design your own testing framework Create reusable
functionality in your framework Book DescriptionSelenium WebDriver
is a platform-independent API for automating the testing of both
browser and mobile applications. It is also a core technology in
many other browser automation tools, APIs, and frameworks. This
book will guide you through the WebDriver APIs that are used in
automation tests. Chapter by chapter, we will construct the
building blocks of a page object model framework as you learn about
the required Java and Selenium methods and terminology. The book
starts with an introduction to the same-origin policy, cross-site
scripting dangers, and the Document Object Model (DOM). Moving
ahead, we'll learn about XPath, which allows us to select items on
a page, and how to design a customized XPath. After that, we will
be creating singleton patterns and drivers. Then you will learn
about synchronization and handling pop-up windows. You will see how
to create a factory for browsers and understand command design
patterns applicable to this area. At the end of the book, we tie
all this together by creating a framework and implementing
multi-browser testing with Selenium Grid. What you will learn
Understand what an XPath is and how to design a customized XPath
Learn how to create a Maven project and build Create a Singleton
driver Get to grips with Jenkins integration Create a factory for
browsers Implement multi-browser testing with Selenium Grid Create
a sample pop-up window and JavaScript alert Report using Extent
Reports Who this book is forThis book is for software testers or
developers.
Build real-world applications with Python 2.7, CUDA 9, and CUDA 10.
We suggest the use of Python 2.7 over Python 3.x, since Python 2.7
has stable support across all the libraries we use in this book.
Key Features Expand your background in GPU programming-PyCUDA,
scikit-cuda, and Nsight Effectively use CUDA libraries such as
cuBLAS, cuFFT, and cuSolver Apply GPU programming to modern data
science applications Book DescriptionHands-On GPU Programming with
Python and CUDA hits the ground running: you'll start by learning
how to apply Amdahl's Law, use a code profiler to identify
bottlenecks in your Python code, and set up an appropriate GPU
programming environment. You'll then see how to "query" the GPU's
features and copy arrays of data to and from the GPU's own memory.
As you make your way through the book, you'll launch code directly
onto the GPU and write full blown GPU kernels and device functions
in CUDA C. You'll get to grips with profiling GPU code effectively
and fully test and debug your code using Nsight IDE. Next, you'll
explore some of the more well-known NVIDIA libraries, such as cuFFT
and cuBLAS. With a solid background in place, you will now apply
your new-found knowledge to develop your very own GPU-based deep
neural network from scratch. You'll then explore advanced topics,
such as warp shuffling, dynamic parallelism, and PTX assembly. In
the final chapter, you'll see some topics and applications related
to GPU programming that you may wish to pursue, including AI,
graphics, and blockchain. By the end of this book, you will be able
to apply GPU programming to problems related to data science and
high-performance computing. What you will learn Launch GPU code
directly from Python Write effective and efficient GPU kernels and
device functions Use libraries such as cuFFT, cuBLAS, and cuSolver
Debug and profile your code with Nsight and Visual Profiler Apply
GPU programming to datascience problems Build a GPU-based deep
neuralnetwork from scratch Explore advanced GPU hardware features,
such as warp shuffling Who this book is forHands-On GPU Programming
with Python and CUDA is for developers and data scientists who want
to learn the basics of effective GPU programming to improve
performance using Python code. You should have an understanding of
first-year college or university-level engineering mathematics and
physics, and have some experience with Python as well as in any
C-based programming language such as C, C++, Go, or Java.
Discover how CUDA allows OpenCV to handle complex and rapidly
growing image data processing in computer and machine vision by
accessing the power of GPU Key Features Explore examples to
leverage the GPU processing power with OpenCV and CUDA Enhance the
performance of algorithms on embedded hardware platforms Discover
C++ and Python libraries for GPU acceleration Book
DescriptionComputer vision has been revolutionizing a wide range of
industries, and OpenCV is the most widely chosen tool for computer
vision with its ability to work in multiple programming languages.
Nowadays, in computer vision, there is a need to process large
images in real time, which is difficult to handle for OpenCV on its
own. This is where CUDA comes into the picture, allowing OpenCV to
leverage powerful NVDIA GPUs. This book provides a detailed
overview of integrating OpenCV with CUDA for practical
applications. To start with, you'll understand GPU programming with
CUDA, an essential aspect for computer vision developers who have
never worked with GPUs. You'll then move on to exploring OpenCV
acceleration with GPUs and CUDA by walking through some practical
examples. Once you have got to grips with the core concepts, you'll
familiarize yourself with deploying OpenCV applications on NVIDIA
Jetson TX1, which is popular for computer vision and deep learning
applications. The last chapters of the book explain PyCUDA, a
Python library that leverages the power of CUDA and GPUs for
accelerations and can be used by computer vision developers who use
OpenCV with Python. By the end of this book, you'll have enhanced
computer vision applications with the help of this book's hands-on
approach. What you will learn Understand how to access GPU device
properties and capabilities from CUDA programs Learn how to
accelerate searching and sorting algorithms Detect shapes such as
lines and circles in images Explore object tracking and detection
with algorithms Process videos using different video analysis
techniques in Jetson TX1 Access GPU device properties from the
PyCUDA program Understand how kernel execution works Who this book
is forThis book is a go-to guide for you if you are a developer
working with OpenCV and want to learn how to process more complex
image data by exploiting GPU processing. A thorough understanding
of computer vision concepts and programming languages such as C++
or Python is expected.
Get to grips with the advanced concepts of interactive computing to
make the most out of IPython About This Book * Most updated book on
Interactive computing with IPython 4.0; * Detailed, example-rich
guide that lets you use the most advanced level interactive
programming with IPython; * Get flexible interactive programming
with IPython using this comprehensive guide Who This Book Is For
This book is for IPython developers who want to make the most of
IPython and perform advanced scientific computing with IPython
utilizing the ease of interactive computing. It is ideal for users
who wish to learn about the interactive and parallel computing
properties of IPython 4.0, along with its integration with
third-party tools and concepts such as testing and documenting
results. What You Will Learn * Develop skills to use IPython for
high performance computing (HPC) * Understand the IPython
interactive shell * Use XeroMQ and MPI to pass messages * Integrate
third-party tools like R, Julia, and JavaScript with IPython *
Visualize the data * Acquire knowledge to test and document the
data * Get to grips with the recent developments in the Jupyter
notebook system In Detail IPython is an interactive computational
environment in which you can combine code execution, rich text,
mathematics, plots, and rich media. This book will get IPython
developers up to date with the latest advancements in IPython and
dive deep into interactive computing with IPython. This an advanced
guide on interactive and parallel computing with IPython will
explore advanced visualizations and high-performance computing with
IPython in detail. You will quickly brush up your knowledge of
IPython kernels and wrapper kernels, then we'll move to advanced
concepts such as testing, Sphinx, JS events, interactive work, and
the ZMQ cluster. The book will cover topics such as IPython Console
Lexer, advanced configuration, and third-party tools. By the end of
this book, you will be able to use IPython for interactive and
parallel computing in a high-performance computing environment.
Style and approach This is a comprehensive guide to IPython for
interactive, exploratory and parallel computing. It will let the
IPython get up to date with the latest advancements in IPython and
dive deeper into interactive computing with IPython
Learn to build powerful machine learning models quickly and deploy
large-scale predictive applications About This Book * Design,
engineer and deploy scalable machine learning solutions with the
power of Python * Take command of Hadoop and Spark with Python for
effective machine learning on a map reduce framework * Build
state-of-the-art models and develop personalized recommendations to
perform machine learning at scale Who This Book Is For This book is
for anyone who intends to work with large and complex data sets.
Familiarity with basic Python and machine learning concepts is
recommended. Working knowledge in statistics and computational
mathematics would also be helpful. What You Will Learn * Apply the
most scalable machine learning algorithms * Work with modern
state-of-the-art large-scale machine learning techniques * Increase
predictive accuracy with deep learning and scalable data-handling
techniques * Improve your work by combining the MapReduce framework
with Spark * Build powerful ensembles at scale * Use data streams
to train linear and non-linear predictive models from extremely
large datasets using a single machine In Detail Large Python
machine learning projects involve new problems associated with
specialized machine learning architectures and designs that many
data scientists have yet to tackle. But finding algorithms and
designing and building platforms that deal with large sets of data
is a growing need. Data scientists have to manage and maintain
increasingly complex data projects, and with the rise of big data
comes an increasing demand for computational and algorithmic
efficiency. Large Scale Machine Learning with Python uncovers a new
wave of machine learning algorithms that meet scalability demands
together with a high predictive accuracy. Dive into scalable
machine learning and the three forms of scalability. Speed up
algorithms that can be used on a desktop computer with tips on
parallelization and memory allocation. Get to grips with new
algorithms that are specifically designed for large projects and
can handle bigger files, and learn about machine learning in big
data environments. We will also cover the most effective machine
learning techniques on a map reduce framework in Hadoop and Spark
in Python. Style and approach This efficient and practical title is
stuffed full of the techniques, tips and tools you need to ensure
your large scale Python machine learning runs swiftly and
seamlessly. Large-scale machine learning tackles a different issue
to what is currently on the market. Those working with Hadoop
clusters and in data intensive environments can now learn effective
ways of building powerful machine learning models from prototype to
production. This book is written in a style that programmers from
other languages (R, Julia, Java, Matlab) can follow.
Over 25 hands-on recipes to create robust and highly-efficient
cross-platform distributed applications with the Boost.Asio library
About This Book * Build highly efficient distributed applications
with ease * Enhance your cross-platform network programming skills
with one of the most reputable C++ libraries * Find solutions to
real-world problems related to network programming with
ready-to-use recipes using this detailed and practical handbook Who
This Book Is For If you want to enhance your C++ network
programming skills using the Boost.Asio library and understand the
theory behind development of distributed applications, this book is
just what you need. The prerequisite for this book is experience
with general C++11. To get the most from the book and comprehend
advanced topics, you will need some background experience in
multithreading. What You Will Learn * Boost your working knowledge
of one of the most reputable C++ networking libraries-Boost.Asio *
Familiarize yourself with the basics of TCP and UDP protocols *
Create scalable and highly-efficient client and server applications
* Understand the theory behind development of distributed
applications * Increase the security of your distributed
applications by adding SSL support * Implement a HTTP client easily
* Use iostreams, scatter-gather buffers, and timers In Detail
Starting with recipes demonstrating the execution of basic
Boost.Asio operations, the book goes on to provide ready-to-use
implementations of client and server applications from simple
synchronous ones to powerful multithreaded scalable solutions.
Finally, you are presented with advanced topics such as
implementing a chat application, implementing an HTTP client, and
adding SSL support. All the samples presented in the book are ready
to be used in real projects just out of the box. As well as
excellent practical examples, the book also includes extended
supportive theoretical material on distributed application design
and construction. Style and approach This book is a set of recipes,
each containing the statement and description of a particular
practical problem followed by code sample providing the solution to
the problem and detailed step-by-step explanation. Recipes are
grouped by topic into chapters and ordered by the level of
complexity from basic to advanced.
Create robust and scalable applications along with responsive UI
using concurrency and the multi-threading infrastructure in .NET
and C# About This Book * Learn to combine your asynchronous
operations with Task Parallel Library * Master C#'s asynchronous
infrastructure and use asynchronous APIs effectively to achieve
optimal responsiveness of the application * An easy-to-follow,
example-based guide that helps you to build scalable applications
using concurrency in C# Who This Book Is For If you are a C#
developer who wants to develop modern applications in C# and wants
to overcome problems by using asynchronous APIs and standard
patterns, then this book is ideal for you. Reasonable development
knowledge, an understanding of core elements and applications
related to the .Net platform, and also the fundamentals of
concurrency is assumed. What You Will Learn * Apply general
multithreading concepts to your application's design * Leverage
lock-free concurrency and learn about its pros and cons to achieve
efficient synchronization between user threads * Combine your
asynchronous operations with Task Parallel Library * Make your code
easier with C#'s asynchrony support * Use common concurrent
collections and programming patterns * Write scalable and robust
server-side asynchronous code * Create fast and responsible client
applications * Avoid common problems and troubleshoot your
multi-threaded and asynchronous applications In Detail Starting
with the traditional approach to concurrency, you will learn how to
write multithreaded concurrent programs and compose ways that won't
require locking. You will explore the concepts of parallelism
granularity, and fine-grained and coarse-grained parallel tasks by
choosing a concurrent program structure and parallelizing the
workload optimally. You will also learn how to use task parallel
library, cancellations, timeouts, and how to handle errors. You
will know how to choose the appropriate data structure for a
specific parallel algorithm to achieve scalability and performance.
Further, you'll learn about server scalability, asynchronous I/O,
and thread pools, and write responsive traditional Windows and
Windows Store applications. By the end of the book, you will be
able to diagnose and resolve typical problems that could happen in
multithreaded applications. Style and approach An easy-to-follow,
example-based guide that will walk you through the core principles
of concurrency and multithreading using C#.
IBM Cognos BI v10.2 is an advanced suite of business intelligence
tools that empower a business with a wide range of capabilities to
plan, design, develop, manage reports, analysis, and design
dashboards to deliver effective business intelligence strategies.
This book particularly focuses on understanding the administration
aspects of managing a Cognos BI environment. This fast-paced guide
will provide you with practical hands-on experience of all the
necessary features to administer an IBM Cognos environment.
Written as a step-by-step guide, Getting Started with Hazelcast
will teach you all you need to know to make your application data
scalable. This book is a great introduction for Java developers,
software architects, or developers looking to enable scalable and
agile data within their applications. You should have programming
knowledge of Java and a general familiarity with concepts like data
caching and clustering.
|
|