Julia High Performance Programming Learning Path 1st Edition Ivo Balbaert download
Julia High Performance Programming Learning Path 1st Edition Ivo Balbaert download
https://ebookultra.com/download/julia-high-performance-programming-
learning-path-1st-edition-ivo-balbaert/
https://ebookultra.com/download/learning-julia-build-high-performance-
applications-for-scientific-computing-1st-edition-anshul-joshi/
https://ebookultra.com/download/julia-high-performance-1st-edition-
avik-sengupta/
https://ebookultra.com/download/clojure-high-performance-jvm-
programming-1st-edition-eduardo-diaz/
https://ebookultra.com/download/programming-entity-framework-
dbcontext-1st-edition-julia-lerman/
High Performance Parallelism Pearls Volume Two Multicore
and Many core Programming Approaches First Edition Jeffers
https://ebookultra.com/download/high-performance-parallelism-pearls-
volume-two-multicore-and-many-core-programming-approaches-first-
edition-jeffers/
https://ebookultra.com/download/learning-to-think-strategically-1st-
edition-julia-sloan/
https://ebookultra.com/download/high-performance-plastics-2011-1st-
edition-ismithers/
https://ebookultra.com/download/the-high-performance-planner-brendon-
burchard/
https://ebookultra.com/download/high-performance-options-trading-1st-
edition-leonard-yates/
Julia High Performance Programming Learning Path 1st
Edition Ivo Balbaert Digital Instant Download
Author(s): Ivo Balbaert; Avik Sengupta; Malcolm Sherrington
ISBN(s): 9781787125704, 178712570X
Edition: 1
File Details: PDF, 7.02 MB
Year: 2016
Language: english
Ivo Balbaert, Avik Sengupta,
Malcolm Sherrington
Julia: High
Performance
Programming
Learning Path
Leverage the power of Julia to design and develop high
performing programs
Julia: High Performance
Programming
BIRMINGHAM - MUMBAI
Julia: High Performance Programming
All rights reserved. No part of this course may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.
Every effort has been made in the preparation of this course to ensure the accuracy
of the information presented. However, the information contained in this course
is sold without warranty, either express or implied. Neither the authors, nor Packt
Publishing, and its dealers and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by this course.
Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this course by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.
ISBN 978-1-78712-570-4
www.packtpub.com
Credits
Reviewers
Pascal Bugnion Production Coordinator
Aparna Bhagat
Michael Otte
Dustin Stansbury
Zhuo QL
Gururaghav Gopal
Dan Wlasiuk
Preface
Julia is a relatively young programming language. The initial design work on the
Julia project began at MIT in August 2009, and by February 2012, it became open
source. It is largely the work of three developers Stefan Karpinski, Jeff Bezanson, and
Viral Shah. These three, together with Alan Edelman, still remain actively committed
to Julia and MIT currently hosts a variety of courses in Julia, manyof which are
available over the Internet.
The period since 2009 has seen the rise of two new computing disciplines: big data/
cloud computing and data science. Big data processing on Hadoop is conventionally
seen as the realm of Java programming, since Hadoop runs on the Java virtual
machine. It is, of course, possible to process big data by using programming
languages other than those that are Java-based and utilize the streaming-jar
paradigm, and Julia can be used in a way similar to C++, C#, and Python.
[i]
Preface
The emergence of data science heralded the use of programming languages that were
simple for analysts with some programming skills but who were not principally
programmers. The two languages that stepped up to fill the breach have been R and
Python. Both of these are relatively old with their origins back in the 1990s. However,
the popularity of these two has seen a rapid growth, ironically from around the time
when Julia was introduced to the world. Even so, with such estimated and staid
opposition, Julia has excited the scientific programming community and continues
to make inroads in this space.
The aim of this course is to cover all aspects of Julia that make it appealing to the
data scientist. The language is evolving quickly. Binary distributions are available
for Linux, Mac OS X, and Linux, but these will lag behind the current sources. So,
to do some serious work with Julia, it is important to understand how to obtain and
build a running system from source. In addition, there are interactive development
environments available for Julia and the course will discuss both the Jupyter and
Juno IDEs.
Module 2, 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 module, you
will also see how Julia uses type information to achieve its performance goals,
and how to use multiple 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.
[ ii ]
Preface
Module 3, Mastering Julia, you will compare the different ways of working with Julia
and explore Julia's key features in-depth by looking at design and build. You will see
how data works using simple statistics and analytics, and discover Julia's speed, its
real strength, which makes it particularly useful in highly intensive computing tasks
and observe how Julia can cooperate with external processes in order to enhance
graphics and data visualization. Finally, you will look into meta-programming
and learn how it adds great power to the language and establish networking and
distributed computing with Julia.
This learning path assumes that you already have some basic working knowledge
of Julia's syntax and high-level dynamic languages such as MATLAB, R, Python,
or Ruby.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about
this course—what you liked or disliked. Reader feedback is important for us as it
helps us develop titles that you will really get the most out of.
If there is a topic that you have expertise in and you are interested in either writing
or contributing to any of our product, see our author guide at www.packtpub.com/
authors.
[ iii ]
Preface
Customer support
Now that you are the proud owner of a Packt course, we have a number of things to
help you to get the most from your purchase.
1. Log in or register to our website using your e-mail address and password.
2. Hover the mouse pointer on the SUPPORT tab at the top.
3. Click on Code Downloads & Errata.
4. Enter the name of the course in the Search box.
5. Select the course for which you're looking to download the code files.
6. Choose from the drop-down menu where you purchased this book from.
7. Click on Code Download.
You can also download the code files by clicking on the Code Files button on the
course's webpage at the Packt Publishing website. This page can be accessed by
entering the course's name in the Search box. Please note that you need to be logged
into your Packt account.
Once the file is downloaded, please make sure that you unzip or extract the folder
using the latest version of:
The code bundle for the course is also hosted on GitHub at https://github.com/
PacktPublishing/Julia-High-Performance-Programming. We also have other
code bundles from our rich catalog of books and videos available at https://
github.com/PacktPublishing/. Check them out!
[ iv ]
Preface
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes
do happen. If you find a mistake in one of our books/courses—maybe a mistake in
the text or the code—we would be grateful if you could report this to us. By doing
so, you can save other readers from frustration and help us improve subsequent
versions of this course. If you find any errata, please report them by visiting http://
www.packtpub.com/submit-errata, selecting your course, clicking on the Errata
Submission Form link, and entering the details of your errata. Once your errata are
verified, your submission will be accepted and the errata will be uploaded to our
website or added to any list of existing errata under the Errata section of that title.
Piracy
Piracy of copyrighted material on the Internet is an ongoing problem across all
media. At Packt, we take the protection of our copyright and licenses very seriously.
If you come across any illegal copies of our works in any form on the Internet, please
provide us with the location address or website name immediately so that we can
pursue a remedy.
We appreciate your help in protecting our authors and our ability to bring you
valuable content.
Questions
If you have a problem with any aspect of this course, you can contact us at
[email protected], and we will do our best to address the problem.
[v]
Module 1: Getting Started with Julia
ii
Table of Contents
iv
Table of Contents
v
Table of Contents
vi
Module 1
Enter the exciting world of Julia, a high-performance language for technical computing
The Rationale for Julia
This introduction will present you with the reasons why Julia is quickly growing in
popularity in the technical, data scientist, and high-performance computing arena.
We will cover the following topics:
Mörser.
(Vgl. Seite 103.)
Unterirdische Hütten zur Deckung der Ersatztruppen.
(Vgl. Seite 104.)
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebookultra.com