- Indico style
- Indico style - inline minutes
- Indico style - numbered
- Indico style - numbered + minutes
- Indico Weeks View
The International GridKa School 2017 is one of the leading summer schools for advanced computing techniques in Europe. The school provides a forum for scientists and technology leaders, experts, and novices to facilitate knowledge sharing and information exchange. The target audience is different groups like graduate and PhD students, advanced users as well as IT administrators. GridKa School is hosted by Steinbuch Centre for Computing (SCC) of Karlsruhe Institute of Technology (KIT). It is organized by KIT and the HGF Alliance "Physics at the Terascale".
Hands-on sessions and workshops give participants an excellent and unique chance to gain practical experience on cutting edge technologies and tools.
Plenary talks presented by experts cover theoretical aspects of school topics and focus on innovative features of data science on modern architectures.
Two social events are important parts of the school. Participants improve their networking and have fun by getting in touch with interesting people in a relaxed atmosphere.
In this talk we give an overview on the design principles and discuss selected use cases, which the infrastructure need to support. We will provide an overview on the envisage architecture and the strategies for addressing key architectural and technical challenges.
Propelled by the growing IT needs of the Large Hardon Collider, CERN is leading a H2020 Pre-Commercial Procurement activity that brings together a group of 10 of Europe’s leading research organisations to procure innovative IaaS level cloud services for a range scientific disciplines.[4] HNSciCloud is divided in 3 phases: Design, Prototype and Pilot. The successful designs were selected by the end of 2016. In 2017, the project entered the Prototype phase.
This talk will cover the current status of the prototypes and the next steps going into the Pilot phase.
[1] http://www.helix-nebula.eu/
[2] http://www.egi.eu/
[3] http://www.geant.net/
[4] http://www.hnscicloud.eu
This contribution will give an overview on the current status, list some promising approaches as well as current r&d challenges.
The aim of this tutorial is to prepare participants for own deployment of the ELK stack for collecting and log analysis.
Participants will be taken step by step through installation, configuration and use of all needed tools for modern log analysis.
You will need to have ssh capable computer with web browser and basic knowledge of unix and CLI.
Python provides a rich ecosystem of open-source software for mathematics, science, and engineering. This tutorial will introduce you to the fundamental packages of the SciPy stack.
You will learn how-to: perform fast numerical calculations in N dimensions using NumPy, analyse your data using Pandas, and visualize the results using Matplotlib. The exercises will be performed in the Jupyter Notebook environment, which you can access through your web browser.
You will need a tablet or a laptop and basic knowledge of the Python programming language.
Machine learning with deep neural networks has seen tremendous advances in the last few years and is now the state-of-the-art method in a broad range of fields, including computer vision and natural language processing. Deep learning shines when dealing with large bodies of high-dimensional, complex data and is thus well suited for pushing the limits in high-energy particle and astroparticle physics.
This tutorial will introduce you to the fundamental concepts and some advanced techniques in deep learning and give you a hands-on introduction to designing, training and evaluating neural networks in supervised classification and regression tasks. As deep learning framework we will use TensorFlow via the Python interface (some familiarity with Python is assumed). The exercises will be performed on the VISPA platform which provides an analysis environment and access to a GPU cluster through your web browser. Hence all you will need is a tablet or laptop.
Python has been widely adopted in academia, science and beyond. As the language is easy to pick up, many people use it for scripting, configuration, and prototyping. At the same time, its flexibility, breadth of application and huge ecosystem make it a powerful tool even for large projects.
This course focuses on software development with Python beyond simple scripting and prototyping. Topics range from best practices for programming small and large projects, to organising and packaging frameworks as well as developing high performance applications. Each topic is presented as a mixture of general lectures and hands-on exercises.
The course targets intermediate Python developers who are familiar with the language itself. You should feel comfortable writing small scripts and applications, using functions, classes and existing libraries. We highly recommend to use your own laptop (Linux, MacOS, Cygwin) for the exercises.
The course is co-organised with the Collaborative Software course, and participants will benefit from taking both courses. In addition, we recommend to participate in the "Introduction to Jupyter Notebooks (Python)" course in case you would like to revive your basic knowledge of the language.
In order to benefit to the maximum of the Docker tutorial part, there are some pre-requisites one needs to take into consideration. First of all, you should be comfortable working with the Linux terminal, installing packages over the command line, using the ssh client to connect to a remote machine and last but not least, editing files using one of the common editors in Linux: emacs, vi, nano etc.
The Docker tutorial will walk you through the basic steps of setting up a Docker environment on your machine. There will be a series of exercises that will detail the various concepts presented during the plenary talk which are critical that you understand for the later part of the tutorial. The final goal of the tutorial is to build and deploy a couple of containers that replicate the usual analysis workflow in High Enery Physics: you will have a container running a XRootD server providing the storage for the data and a different container that runs the ROOT framework where you will do your analysis. The tutorial will discuss into depth the concepts of port forwarding, volumes and resource management in the context of containers with a focus on understanding the advantages of containers over traditional virtual machines.
You are taken on a journey from your first container startup to more complex setups inside the kubernetes cluster.
Basic understanding of unix and the cli is required as well as a ssh capable computer, since you need to connect via ssh to our learning environment.
Writing maintainable software is a prerequisite in many fields. Especially when working in projects with many members it is essential to
Based on experiences from projects in academia and industry, this tutorial introduces tools and concepts to enable maintainable software projects in collaborative environments. While we try to give a broad overview on different topics, we also flexibly provide in-depth information depending on your feedback during the course. We cover topics such as version control and organisation of software with git, concepts of unit testing and test-driven development, tools supporting continuous integration as well as the integration into wikis and ticket systems.
Throughout this tutorial you will learn how to efficiently integrate different tools and concepts to enable maintainable software. After the course, you will have a basic setup that can be adapted to your specific needs.
This course is a hands-on tutorial and requires basic knowledge in Python programming. For best learning experiences and an overview on encompassing software development processes, we suggest the combined participation in the workshop Advanced Python Software Development and Collaborative Software Development.
In this course we will introduce how to program for concurrency in C++, taking advantage of modern CPUs' ability to run multi-threaded programs on different CPU cores. We will briefly review the native C++ concurrency features for asynchronous execution, thread spawning and locking as well as a few other features useful for concurrent programming. The tutorial will show you how to use Intel's Threaded Building Block (TBB) library as a much higher level abstraction onto concurrency that allows concurrent applications to be developed much more quickly. We will examine TBB's basic templates for parallel programming, controlling loops and reductions in 1 and 2 dimensions. Then we will see how TBB's graph execution facilities that allow more sophisticated parallel workflows in a DAG to be run. Finally, we will look at the TBB task manager, that allows arbitrary workloads to be executed in parallel when injected into the system by a higher level component.
Students should be familiar with C++ and the standard template library. Some familiarity with makefiles and/or CMake would be useful.
In this workshop, the students will (a) learn how to efficiently use relational and non-relational databases, and (b) how to create database workflows suitable for analytics and machine learning.
First, the focus of the workshop is to teach efficient, safe, and fault-tolerant principles when dealing with high-volume and high-throughput database scenarios. This includes, but is not limited to, systems such as PostgreSQL, Redis or ElasticSearch. Topics include query planning and performance analysis, transactional safety, SQL injection, and competitive locking.
Second, we focus on how to actually prepare data from these databases to be usable for analytics and machine learning frameworks such as Keras. Topics include recommended workflows for data selection, data cleaning, model training, model running, error checking, and output archival.
An intermediate understanding of Python, SQL, and Linux shell scripting is recommended to follow this course. An understanding of machine learning principles is not required.
In this workshop, we will introduce the basics of programming in Go and then work our way up to concurrency programming with this relatively new language.
We'll start with the usual "Hello World" program, introduce functions, variables, packages and then interfaces. Then, we will tackle the two main tools at the disposal of the Go programmer (colloquially known as a gopher): the channels and the goroutines. This will be done by implementing a small peer to peer application transmitting text messages over the network.
The workshop wraps up with a whirlwind tour of scientific and non-scientific libraries readily available, and prospects/news about the next Go version.
People will have to install the Go compiler on their laptop. The instructions to do so for their favorite operating system are detailed at: https://golang.org/doc/install
To get a taste of what Go looks like and wet their feet, people can also follow the interactive, browser-based, installation-free tour from: https://tour.golang.org