Hands-On GPU Programming with Python and CUDA
Hands-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 ...
Hands-On Microservices - Monitoring and Testing
Microservices are the latest "right" way of developing web applications. Microservices architecture has been gaining momentum over the past few years, but once you've started down the microservices path, you need to test and optimize the services. This book focuses on exploring various testing, monitoring, and optimization techniques for microservices.
The book starts with the evolution of software architecture style, from monolithic to virtualized, to microservices architecture. Then you will explore methods to deploy microservices and various implementation patterns. With the help of a real-world example, you will understand how external APIs help product developers to focus on core competencies.
After that, you will learn testing techniques, such as Unit Testing, Integration Testing, Functional Testing, and Load Testing. Next, you will explore performance testing tools, such as JMeter, and Gatling. Then, we deep dive into monitoring techniques and learn performance ...
SQL Server 2017 Query Performance Tuning
Identify and fix causes of poor performance. You will learn Query Store, adaptive execution plans, and automated tuning on the Microsoft Azure SQL Database platform. Anyone responsible for writing or creating T-SQL queries will find valuable the insight into bottlenecks, including how to recognize them and eliminate them.
This book covers the latest in performance optimization features and techniques and is current with SQL Server 2017. If your queries are not running fast enough and you're tired of phone calls from frustrated users, then this book is the answer to your performance problems.
SQL Server 2017 Query Performance Tuning is about more than quick tips and fixes. You'll learn to be proactive in establishing performance baselines using tools such as Performance Monitor and Extended Events. You'll recognize bottlenecks and defuse them before the phone rings. You'll learn some quick solutions too, but emphasis is on designing for perfo ...
IBM Watson Projects
IBM Watson provides fast, intelligent insight in ways that the human brain simply can't match. Through eight varied projects, this book will help you explore the computing and analytical capabilities of IBM Watson.
The book begins by refreshing your knowledge of IBM Watson's basic data preparation capabilities, such as adding and exploring data to prepare it for being applied to models. The projects covered in this book can be developed for different industries, including banking, healthcare, media, and security. These projects will enable you to develop an AI mindset and guide you in developing smart data-driven projects, including automating supply chains, analyzing sentiment in social media datasets, and developing personalized recommendations.
By the end of this book, you'll have learned how to develop solutions for process automation, and you'll be able to make better data-driven decisions to deliver an excellent customer experience. ...
Mastering Puppet 5
Puppet is a configuration management system and a language written for and by system administrators to manage a large number of systems efficiently and prevent configuration drift.
The core topics this book addresses are Puppet's latest features and mastering Puppet Enterprise. You will begin by writing a new Puppet module, gaining an understanding of the guidelines and style of the Puppet community. Following on from this, you will take advantage of the roles and profiles pattern, and you will learn how to structure your code. Next, you will learn how to extend Puppet and write custom facts, functions, types, and providers in Ruby, and also use the new features of Hiera 5. You will also learn how to configure the new Code Manager component, and how to ensure code is automatically deployed to (multiple) Puppet servers. Next, you will learn how to integrate Puppet with Jenkins and Git to build an effective workflow for multiple teams, and use the new Puppet Tasks feature and the late ...
Mastering Game Development with Unreal Engine 4, 2nd Edition
To make a basic combat game from scratch, you will quickly override existing UE4 classes, and add and implement simple C++ functions while running and building them. These are all discussed as a short summary for new developers and as a quick refresher for experienced developers. Next, you will build a combat player character with expanded controls, create logic for a character, swap weapons, attack and move, bridge over scene changes and transitions, retain data between scenes, and manage the scene-change process.
You will then build an intelligent enemy AI and add physics based particles for weapon impacts. You will also get acquainted with cutting-edge features such as Volumetric Lightmaps for precomputed lighting, and Atmospheric and Volumetric Fog, to build advanced visuals in our ongoing GitHub project.
Moving on, you will explore the tools required to build an in-game cut-scene for a more professional gameplay experience and story direction.
Along the way, you will impl ...
Prometheus: Up & Running
Get up to speed with Prometheus, the metrics-based monitoring system used by tens of thousands of organizations in production. This practical guide provides application developers, sysadmins, and DevOps practitioners with a hands-on introduction to the most important aspects of Prometheus, including dashboarding and alerting, direct code instrumentation, and metric collection from third-party systems with exporters.
This open source system has gained popularity over the past few years for good reason. With its simple yet powerful data model and query language, Prometheus does one thing, and it does it well. Author and Prometheus developer Brian Brazil guides you through Prometheus setup, the Node exporter, and the Alertmanager, then demonstrates how to use them for application and infrastructure monitoring.
Know where and how much to apply instrumentation to your application code; Identify metrics with labels using unique key-value pairs; Get an introduction to Grafana, a popular ...
Software Architecture with Spring 5.0
Spring 5 and its ecosystem can be used to build robust architectures effectively. Software architecture is the underlying piece that helps us accomplish our business goals whilst supporting the features that a product demands. This book explains in detail how to choose the right architecture and apply best practices during your software development cycle to avoid technical debt and support every business requirement. Choosing the right architecture model to support your business requirements is one of the key decisions you need to take when a new product is being created from scratch or is being refactored to support new business demands. This book gives you insights into the most common architectural models and guides you when and where they can be used. During this journey, you'll see cutting-edge technologies surrounding the Spring products, and understand how to use agile techniques such as DevOps and continuous delivery to take your software to production effectively. By the end o ...
This book teaches you how to build and contribute to Scala programs, recognizing common patterns and techniques used with the language. You'll learn how to write concise, functional code with Scala. After an introduction to core concepts, syntax, and writing example applications with scalac, you'll learn about the Scala Collections API and how the language handles type safety via static types out-of-the-box. You'll then learn about advanced functional programming patterns, and how you can write your own Domain Specific Languages (DSLs). By the end of the book, you'll be equipped with the skills you need to successfully build smart, efficient applications in Scala that can be compiled to the JVM. ...
Though fairly new, GraphQL is quickly rising in popularity when it comes to API development. This book will teach you everything you need to know to start building efficient APIs with GraphQL. You'll begin by learning to create a simple scaffold application using Node.js and Express. Then, you'll explore core GraphQL concepts and study how GraphQL integrates with other frameworks in real-life business applications. By the end of the book, you will be able to successfully create efficient client-server REST-like applications. ...
Mastering High Performance with Kotlin
The ease with which we write applications has been increasing, but with it comes the need to address their performance. A balancing act between easily implementing complex applications and keeping their performance optimal is a present-day requirement In this book, we explore how to achieve this crucial balance, while developing and deploying applications with Kotlin.
The book starts by analyzing various Kotlin specifcations to identify those that have a potentially adverse effect on performance. Then, we move on to monitor techniques that enable us to identify performance bottlenecks and optimize performance metrics. Next, we look at techniques that help to us achieve high performance: memory optimization, concurrency, multi threading, scaling, and caching. We also look at fault tolerance solutions and the importance of logging. We'll also cover best practices of Kotlin programming that will help you to improve the quality of your code base.
By the end of th ...