万本电子书0元读

万本电子书0元读

顶部广告

Julia High Performance电子书

售       价:¥

5人正在读 | 0人评论 9.8

作       者:Avik Sengupta

出  版  社:Packt Publishing

出版时间:2016-04-01

字       数:76.1万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Design and develop high performing programs with Julia About This Book Learn to code high reliability and high performance programs Stand out from the crowd by developing code that runs faster than your peers’ codes This book is intended for developers who are interested in high performance technical programming. Who This Book Is For This book is for beginner and intermediate Julia programmers who are interested in high performance technical computing. You will have a basic familiarity with Julia syntax, and have written some small programs in the language. What You Will Learn Discover the secrets behind Julia’s speed Get a sense of the possibilities and limitations of Julia’s performance Analyze the performance of Julia programs Measure the time and memory taken by Julia programs Create fast machine code using Julia’s type information Define and call functions without compromising Julia’s performance Understand number types in Julia Use Julia arrays to write high performance code Get an overview of Julia’s distributed computing capabilities In Detail Julia is a high performance, high-level dynamic language designed to address the requirements of high-level numerical and scientific computing. Julia brings solutions to the complexities faced by developers while developing elegant and high performing code. Julia High Performance will take you on a journey to understand the performance characteristics of your Julia programs, and enables you to utilize the promise of near C levels of performance in Julia. You will learn to analyze and measure the performance of Julia code, understand how to avoid bottlenecks, and design your program for the highest possible performance. In this book, you will also see how Julia uses type information to achieve its performance goals, and how to use multuple dispatch to help the compiler to emit high performance machine code. Numbers and their arrays are obviously the key structures in scientific computing – you will see how Julia’s design makes them fast. The last chapter will give you a taste of Julia’s distributed computing capabilities. Style and approach This is a hands-on manual that will give you good explanations about the important concepts related to Julia programming.
目录展开

Julia High Performance

Table of Contents

Julia High Performance

Credits

About the Author

About the Reviewer

www.PacktPub.com

Support files, eBooks, discount offers, and more

Why subscribe?

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Downloading the color images of this book

Errata

Piracy

Questions

1. Julia is Fast

Julia – fast and dynamic

Designed for speed

JIT and LLVM

Types

How fast can Julia be?

Summary

2. Analyzing Julia Performance

Timing Julia code

Tic and Toc

The @time macro

The @timev macro

The Julia profiler

Using the profiler

ProfileView

Analyzing memory allocation

Using the memory allocation tracker

Statistically accurate benchmarking

Using Benchmarks.jl

Summary

3. Types in Julia

The Julia type system

Using types

Multiple dispatch

Abstract types

Julia's type hierarchy

Composite and immutable types

Type parameters

Type inference

Type-stability

Definitions

Fixing type-instability

Performance pitfalls

Identifying type-stability

Loop variables

Kernel methods

Types in storage locations

Arrays

Composite types

Parametric composite types

Summary

4. Functions and Macros – Structuring Julia Code for High Performance

Using globals

The trouble with globals

Fixing performance issues with globals

Inlining

Default inlining

Controlling inlining

Disabling inlining

Closures and anonymous functions

FastAnonymous

Using macros for performance

The Julia compilation process

Using macros

Evaluating a polynomial

Horner's method

The Horner macro

Generated functions

Using generated functions

Using generated functions for performance

Using named parameters

Summary

5. Fast Numbers

Numbers in Julia

Integers

Integer overflow

BigInt

The floating point

Unchecked conversions for unsigned integers

Trading performance for accuracy

The fastmath macro

The K-B-N summation

Subnormal numbers

Subnormal numbers to zero

Summary

6. Fast Arrays

Array internals in Julia

Array representation and storage

Column-wise storage

Bound checking

Removing the cost of bound checking

Configuring bound checks at startup

Allocations and in-place operations

Preallocating function output

Mutating versions

Array views

SIMD parallelization

Yeppp!

Writing generic library functions with arrays

Summary

7. Beyond the Single Processor

Parallelism in Julia

Starting a cluster

Communication between Julia processes

Programming parallel tasks

@everywhere

@spawn

Parallel for

Parallel map

Distributed arrays

Shared arrays

Threading

Summary

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部