559 events found

Content provider: PRACE 

  • Python in High-Performance Computing

    11 - 13 April 2012

    Python in High-Performance Computing https://tess.elixir-europe.org/events/python-in-high-performance-computing Python is modern, object-oriented programming language which has become popular in several areas of software development. This course introduces the basic concepts of the Python programming language and how it can be used effectively in high-performance computing. Fast array interface (numpy), message-passing interface (mpi4py), and several other useful Python packages such as scipy and matplotlib are introduced. C extension, i.e how to integrate code written in C directly as a part of a Python program, are also shown.  Examples include prototyping and solving numerical problems with Python, steering simulations with Python scripts and analyzing results with the help of Python. Course consists of lectures and hands-on exercises. This course is organised by the PRACE Advanced Training Center hosted by CSC - IT Center for Science. Prerequisites Participants are expected to have some experience in computer programming and to be familiar with the basic concepts (e.g. variables, statements, control structures, subroutines) but previous knowledge of Python is not required. Previous experience in high-performance computing (batch systems, MPI, etc.) may be useful. Program Day 1, Wednesday April 11 Introduction to Python Data types and expressions Control structures Functions and modules File I/O Text processing Day 2, Thursday April 12 Object oriented programming with Python NumPy - fast array interface to Python Day 3, Friday April 13 C extensions for integrating efficient C routines in Python mpi4py - message-passing interface for Python Scipy-package for scientific computinig Matplotlib-package for visualization https://events.prace-ri.eu/event/63/ 2012-04-11 06:00:00 UTC 2012-04-13 16:00:00 UTC [] [] [] workshops_and_courses [] []
  • Next-Generation Sequencing Workshop

    26 - 27 April 2012

    Next-Generation Sequencing Workshop https://tess.elixir-europe.org/events/next-generation-sequencing-workshop This course covers several aspects of next generation sequencing (NGS) data analysis and visualization, ranging from general tasks such as quality control, alignment and genomic region matching to the more specific tasks such as peak detection (ChIP-seq) and finding differentially expressed genes (RNA-seq). The course consists of lectures and hands-on exercises. As the user-friendly Chipster software is used for the exercises, no prior knowledge of NGS data analysis or unix is required. This course is primarily targeted for researchers who already have NGS data, or who are planning to start such experiments soon.   Chipster integrates a comprehensive collection of analysis tools for high-throughput data such as microarrays, proteomics and NGS. For NGS data there is currently functionality for ChIP-seq, RNA-seq, miRNA-seq, methyl-seq and CNA-seq data (for details, please see NGS tool content). Users can save their analysis pipelines as reusable automatic workflows, and both workflows and analysis sessions can be shared with colleagues. Access to CSC's Chipster server is free of charge for Finnish universities. Program Thursday April 26, 2012 Introduction to Chipster Quality control and filtering reads (FastQC, FastX, PRINSEQ) Alignment to reference genome (Bowtie, BWA, TopHat) Manipulation of BAM files (Samtools) Visualization of aligned reads in their genomic context (Chipster genome browser) Matching genomic regions (BEDtools, HTSeq) Friday April 27, 2012 ChIP-seq: Peak detection (MACS), retrieving nearby genes and performing pathway analysis for them. RNA-seq: Finding differentially expressed genes (Cufflinks, edgeR, DESeq). https://events.prace-ri.eu/event/67/ 2012-04-26 06:00:00 UTC 2012-04-27 16:00:00 UTC [] [] [] workshops_and_courses [] []
  • Systems Workshop - Tibidabo Machine: Programming PRACE and MontBlanc prototypes @ BSC

    17 May 2012

    Systems Workshop - Tibidabo Machine: Programming PRACE and MontBlanc prototypes @ BSC https://tess.elixir-europe.org/events/systems-workshop-tibidabo-machine-programming-prace-and-montblanc-prototypes-bsc Objectives: Get a comprehensive view of the Tibidabo architecture and how to program this machine efficiently. Level: For trainees with some theoretical and practical knowledge, some programming experience.Standard HPC users, with recommended, but not required some knowledge in Tibidabo architecture. Learning Outcomes: Understand how works Tibidabo machine. Work with some example codes, compiling, debugging and executing trough system queues. Get a global view of the machine with their specific configuration (Operating system, batch system, debuggers, compilers, how to access to the machine, how to use the resources, etc)Prerequisites: The trainees are expected to come with their own laptop with a SSH client.   Dates: 17 May 2012 (09:30-18:00) Timezone: CET Location: BSC, Barcelona Additional info: Course Program Outline will be available closer to the dates. https://events.prace-ri.eu/event/107/ 2012-05-17 07:00:00 UTC 2012-05-17 16:00:00 UTC [] [] [] workshops_and_courses [] []
  • Shared-Memory Programming with OpenMP @ EPCC

    21 - 22 May 2012

    Shared-Memory Programming with OpenMP @ EPCC https://tess.elixir-europe.org/events/shared-memory-programming-with-openmp-epcc An introduction to using OpenMP for parallel programming. No prior parallel programming experience required. Almost all modern computers now have a shared-memory architecture with multiple CPUs connected to the same physical memory, for example multicore laptops or large multi-processor compute servers. This course covers OpenMP, the industry standard for shared-memory programming, which enables serial programs to be parallelised easily using compiler directives. Users of desktop machines can use OpenMP on its own to improve program performance by running on multiple cores; users of parallel supercomputers can use OpenMP in conjunction with MPI to better exploit the shared-memory capabilities of the compute nodes. This two-day course will cover an introduction to the fundamental concepts of the shared variables model, followed by the syntax and semantics of OpenMP and how it can be used to parallelise real programs. Hands-on practical programming exercises make up a significant, and integral, part of this course. No prior HPC or parallel programming knowledge is assumed, but attendees must already be able to program in C, C++ or Fortran. Access will be given to appropriate hardware for all the exercises, although many of them can also be performed on a standard Linux laptop. This course is free to all academics. Pre-requisite programming languages Fortran, C or C++. It is not possible to do the exercises in Java. Example timetable Day 1 09:30 Lectures: Shared Memory Concepts; OpenMP Fundamentals; Parallel Regions 11:00 COFFEE 11:30 Practicals: Hello World; Mandelbrot 1 13:00 LUNCH 14:00 Lectures: Work sharing; Synchronisation 15:30 TEA 16:00 Practicals: Mandelbrot 2; Molecular Dynamics (MD) 17:30 CLOSE Day 2 09:30 Lectures: Further topics; OpenMP Tasks 11:00 COFFEE 11:30 Practicals: MD with orphaning; Mandelbrot with tasks 13:00 LUNCH 14:00 Lectures: Memory model; Performance tuning 15:30 TEA 16:00 Practicals: MD tuning 17:30 CLOSE https://events.prace-ri.eu/event/166/ 2012-05-21 06:00:00 UTC 2012-05-22 16:00:00 UTC [] [] [] workshops_and_courses [] []
  • Introduction to the programming and usage of the supercomputing resources in Jülich

    21 - 22 May 2012

    Introduction to the programming and usage of the supercomputing resources in Jülich https://tess.elixir-europe.org/events/introduction-to-the-programming-and-usage-of-the-supercomputing-resources-in-julich Through the John von Neumann Institute for Computing, Research Centre Juelich provides two major high-performance computing resources to scientific user groups from throughout Germany and Europe. The aim of this course is to give new users of the supercomputing resources an introductory overview of the systems and their usage, and to help them in making efficient use of their allocated resources.   Topics covered are: Overview of the supercomputer systems Usage of the supercomputer systems Grid access via UNICORE Blue Gene architecture JUROPA/HPC-FF architecture Programming (compilers, MPI, OpenMP, debuggers, tools) Performance tuning Libraries and application software Postprocessing and Visualization I/O and data management https://events.prace-ri.eu/event/69/ 2012-05-21 06:00:00 UTC 2012-05-22 16:00:00 UTC [] [] [] workshops_and_courses [] []
  • Performance Analysis and Tools @ BSC

    21 - 22 May 2012

    Performance Analysis and Tools @ BSC https://tess.elixir-europe.org/events/performance-analysis-and-tools-bsc Objectives: The objective of this course is to learn how Paraver and Dimemas tools can be used to analyze the performance of parallel applications and to familiarize with the tools usage as well as instrumenting applications with Extrae. Level: For trainees with some theoretical and practical knowledge, some programming experience. Learning Outcomes: The students who finish this course will have a basic knowledge on the usage of the BSC performance tools. They will be able to apply the same methodology to their applications, identifying potential bottlenecks and getting hints on how to improve the applications performance.Prerequisites: The trainees are expected to come with their own laptop. If you develop applications you can also bring your code to use it on the hands-on sessions.   Dates: from 21 May 2012 09:30 to 22 May 2012 18:00 Timezone: CET Location: BSC, Barcelona Additional info: Course Program Outline: Day 1 Session 1 / 10am - 1 pm: 1. Introduction to Paraver 2. Paraver guided demo Lunch Break 1pm to 2pm Session 2 / 2 pm- 6 pm: Paraver Hands-on Day 2 Session 3/ 9am- 1 pm: 1. Advanced analysis 2. Introduction to Dimemas 3. Dimemas guided demo Lunch Break 1pm to 2pm Session 4 / 2 pm- 6 pm: Tools Hands-on END of COURSE https://events.prace-ri.eu/event/109/ 2012-05-21 07:00:00 UTC 2012-05-22 16:00:00 UTC [] [] [] workshops_and_courses [] []
  • Heterogeneous Programming on GPUs with MPI + OmpSs @ BSC (2012)

    23 - 24 May 2012

    Heterogeneous Programming on GPUs with MPI + OmpSs @ BSC (2012) https://tess.elixir-europe.org/events/heterogeneous-programming-on-gpus-with-mpi-ompss-bsc-2012 Objectives: The course will motivate the audience on the need for portable, efficient programming models that put less pressure on program developers while still getting good performance for clusters and clusters with GPUs. More specifically, the tutorial will: Introduce the hybrid MPI/OmpSs parallel programming model for future exascale systems Demonstrate how to use MPI/OmpSs to incrementally parallelize/optimize: MPI applications on clusters of SMPs, and Leverage CUDA kernels with OmpSs on clusters of GPUs  Level: For trainees with some theoretical and practical knowledge, some programming experience.Learning Outcomes: The students who finish this course will be able to develop benchmarks and simple applications with the MPI/OmpSs programming model to be executed in clusters and clusters of GPUs.Prerequisites: Good knowledge of C/C++ Basic knowledge of CUDA/OpenCL Basic knowledge of Paraver/Extrae Material for practical sessions will be provided during the course, and it is also interesting that students can provide their own application(s) for session 4, free hands-on. You are expected to come with your own laptop with either linux, windows or MacOS operating system.   Dates: from 23 May 2012 09:30 to 24 May 2012 18:00 Timezone: CET Location: BSC, Barcelona Additional info: Course Program Outline:Day 1 Session 1  9am – 11am: Introduction to OmpSs11:30am – 1pm: OmpSs single node programming hands-on Lunch Break 1pm to 2pm Session 2 2 pm- 3 pm: More on OmpSs: GPU/CUDA programming3 pm- 6 pm: OmpSs single node programming hands-on with GPUs Day 2 Session 3 9am- 10 am: Introduction  to MPI/OmpSs10am- 1 pm: MPI/OmpSs hands-on Lunch Break 1pm to 2pm Session 4/ 2pm- 6 pm: Free hands-on: Students use OmpSs environment with prepared examples, except in the free hands-on session were they can bring their own application. END of COURSE https://events.prace-ri.eu/event/108/ 2012-05-23 07:00:00 UTC 2012-05-24 07:00:00 UTC [] [] [] workshops_and_courses [] []
  • Introduction to CUDA Programming @ BSC

    5 - 8 June 2012

    Introduction to CUDA Programming @ BSC https://tess.elixir-europe.org/events/introduction-to-cuda-programming-bsc Objectives: The aim of this course is to provide students with knowledge and hands-on experience in developing applications software for processors with massively parallel computing resources. In general, we refer to a processor as massively parallel if it has the ability to complete more than 64 arithmetic operations per clock cycle. Many commercial offerings from NVIDIA, AMD, and Intel already offer such levels of concurrency. Effectively programming these processors will require in-depth knowledge about parallel programming principles, as well as the parallelism models, communication models, and resource limitations of these processors. The target audiences of the course are students who want to develop exciting applications for these processors, as well as those who want to develop programming tools and future implementations for these processors. Level: BEGINNERS: for trainees from different background or very little knowledgeLearning Outcomes: The students who finish this course will learn how to program massively parallel processors and achieve high performance, functionality, maintainability, and scalability across future generations. The students who finish this course will acquire technical knowledge required to achieve the above goals by learning principles and patterns of parallel algorithms, processor architecture features and constraints, and programming API, tools and techniques. Prerequisites:  Basic knowledge of C/C++ programming Attendees will need to bring their own laptops with a SSH client   Dates: from 05 June 2012 09:30 to 08 June 2012 18:00 Timezone: CET Location: BSC, Barcelona Additional info: Course Program Outline will be available closer to the dates https://events.prace-ri.eu/event/106/ 2012-06-05 07:00:00 UTC 2012-06-08 16:00:00 UTC [] [] [] workshops_and_courses [] []
  • CINECA Summer School on Scientific Visualization

    11 - 15 June 2012

    CINECA Summer School on Scientific Visualization https://tess.elixir-europe.org/events/cineca-summer-school-on-scientific-visualization The School of Scientific Visualization is an intense, 5-day, graduate level course. Scientific visualization is a remarkable branch of computer graphics. Its purpose is to graphically illustrate scientific data to enable scientists to understand, illustrate, and obtain insights from their data.   Topics Introduction to computer graphics Introduction to scientific and remote visualization High-performance visualization tools and libraries Advanced techniques for in-situ visualization  Acceleration engines for complex scenarios https://events.prace-ri.eu/event/48/ 2012-06-11 06:30:00 UTC 2012-06-15 12:30:00 UTC [] [] [] workshops_and_courses [] []
  • OpenMP / OpenACC programming

    20 - 22 June 2012

    OpenMP / OpenACC programming https://tess.elixir-europe.org/events/openmp-openacc-programming OpenMP has become the de-facto standard for multitasks parallel programming on shared memory systems.   OpenACC is an emerging standard for parallel computing designed to ease the use of accelerators like GPU, or coming many-core processors; OpenACC aims to help programmers to create high-level host+accelerator program by providing directives and libraries to initialize the accelerator, manage data or program transfers between the host and accelerator, or initiate accelerator startup and shutdown. OpenACC is real-wolrd implementation of parallel programming concepts for accelerators that could be part of a future OpenMP standard. Agenda: Days 1 and 2 : Introduction to OpenMP, hands-on session Day 3 : Presentation of the OpenACC programming model;  hands-on session using CAPS/HMPP compiling toolchain https://events.prace-ri.eu/event/8/ 2012-06-20 06:00:00 UTC 2012-06-22 16:00:00 UTC [] [] [] workshops_and_courses [] []
  • Cray XE6 Performance Workshop @ EPCC

    11 - 12 July 2012

    Cray XE6 Performance Workshop @ EPCC https://tess.elixir-europe.org/events/cray-xe6-performance-workshop-epcc The Cray Centre of Excellence for HECToR delivered this course on the Cray XE6 over two days. It introduced new and existing users to the more powerful and advanced features of the hardware and softwares stack available. The programme will included: A detailed overview of the “Interlagos” Opteron processor architecture and Gemini network interconnect. Details on using the Interlagos cores in fully populated or core-pair mode. Demonstrations of the additional flexibility and functionality available with the Cray MPI library: Methods for customising the placement of ranks and processes to improve individual application communication performance. Mechanisms for improving the overlap between communication and computation within an application. Using and optimising MPI-IO for efficient file system performance. Guidance on use of Cray supplied optimisations of the standard installed scientific libraries. Tutorials on Cray debugging and analysis tools, CrayPAT, ATP, STAT and Fast-track debugging. General tips and tricks from the Cray Centre of Excellence for HECToR on optimising applications on Cray architectures. Attendees benefit from experience with or an interest in Cray hardware. Pre-requisite Programming Languages: Knowledge of Fortran, C or C++, and MPI would be beneficial. It is not possible to do the exercises in Java. https://events.prace-ri.eu/event/70/ 2012-07-11 06:00:00 UTC 2012-07-12 16:00:00 UTC [] [] [] workshops_and_courses [] []
  • FEM Workshop @ CSC

    27 - 29 August 2012

    FEM Workshop @ CSC https://tess.elixir-europe.org/events/fem-workshop-csc Elmer FEM - from PCs to supercomputers Elmer is an open source multiphysical simulation software that includes physical models of e.g. fluid dynamics, structural mechanics, electromagnetics, heat transfer and acoustics. These are described by partial differential equations which Elmer solves by the Finite Element Method (FEM). Parallel scalability of Elmer has been demonstrated up to thousands of processors. Currently Elmer is used by thousands of researchers around the world. The intent of the course is to familiarize the attendees with Elmer, demonstrating its use both on a workstation with a GUI and on a supercomputer platform. The first day will focus on the use of GUI and on the basic concepts of Elmer. The second day goes into advanced topics such as structure of the code, user defined functions and basic parallel use. The third day is dedicated to parallel topicsand will feature special presentations on various recently implemented improvements in Elmer (such as mesh multiplication, block preconditioning, hybrid parallelization, interfaces to Trilinos and Hypre libraries, economical postprocessing utilities).Learning outcome After the course the participants should be able to solve standard modeling problems with Elmer, both on PCs and on supercomputers. Users should also be able to utilize some of the standard APIs for code development. Also they should have gained information on some recent scalable techniques applicable to parallel finite element codes.Prerequisites The participants should preferably have some background in the solution of partial differential equations. Previous experience in Fortran and Parallel Computing will help in getting most of the course.  Lecturers: Peter Råback (CSC), Thomas Zwinger (CSC), Mikko Byckling (CSC), Jonas Thies (Uppsala University)Price: Free of charge  Registration has expired. https://events.prace-ri.eu/event/29/ 2012-08-27 06:00:00 UTC 2012-08-29 14:00:00 UTC [] [] [] workshops_and_courses [] []
  • GPU Programming Workshop @ EPCC

    28 - 30 August 2012

    GPU Programming Workshop @ EPCC https://tess.elixir-europe.org/events/gpu-programming-workshop-epcc Graphics Processing Units (GPUs) were originally designed to display computer graphics, but they have developed into extremely powerful chips capable of handling demanding, general-purpose calculations. The GPU architecture is inherently is more suited to many types of intensive parallel computations than the traditional CPU, and hence computationally demanding sections of code can be accelerated to significantly increase overall performance. This is true not just for small-scale applications run on desktop size machines, but also for the largest-scale applications on massively parallel architectures. For example, the newly announced Cray XK6 supercomputer allows thousands of NVIDIA GPUs to be exploited in parallel to tackle grand challenge problems. Applications must be adapted to utilise GPUs: most lines of application source code are executed on the CPU and key computational kernels are distributed to the GPU cores. Currently, for NVIDIA GPUs, the most popular programming method is the CUDA API, which is extremely powerful but requires significant development effort. OpenCL is an alternative API, which is less mature than CUDA but has portability advantages. Recently, a new higher-level standard has emerged, OpenACC, which promises to offer higher productivity. The programmer uses “directives” in the code to provide the compiler with the information required to automatically offload code to the GPU. In this 3-day course we will introduce and provide hands-on experience of CUDA, OpenCL (with more emphasis on the former) and OpenACC. In many cases it is relatively straightforward to port a code to the GPU, but much harder to obtain good performance: we will cover a range of common GPU optimisation techniques. No prior HPC or parallel programming knowledge is assumed, but attendees must already be able to program in C, C++ or Fortran. Access will be given to appropriate hardware for all the exercises. This course is free to all academics. Pre-requisite Programming Languages Fortran, C or C++. It is not possible to complete the exercises in Java. Practical Templates and Documentation: CUDA and OpenCL Example Timetable Day 1 09:00 Registration 09:30 Lecture: Introduction and GPU Architecture 10:15 Lecture: Programming with CUDA 11:00 break 11:30 Practical: Getting started with CUDA 12:30 lunch 13:30 Lecture: GPU Optimisation 14:00 Practical: Optimising a CUDA application 15:00 break 15:30 Case study: Scaling an Application to a Thousand GPUs and Beyond 16:30 close Day 2 09:00 Lecture: Programming with OpenCL 09:45 Practical: OpenCL programming *or* continue CUDA practical 11:00 break 11:30 Practical (cont.) 12:15 lunch 13:00 OpenACC Welcome and overview 13:15 OpenACC Session 1: An Introduction to OpenACC 13:15 Lecture: The OpenACC programming model 14:15 Practical: compiling and running a sample OpenACC code 14:45 break 15:15 OpenACC Session 2: Accelerating a simple code 15:15 Worked example: OpenACC-ing a simple code 15:45 Practical: accelerating the simple code 16:30 close Day 3 09:00 OpenACC Session 3: Accelerating a larger code 09:00 Lecture: Preparing to OpenACC a code 09:45 Worked example: OpenACC-ing a larger code 10:15 Practical: preparing and accelerating a larger application 10:45 break 11:15 Nvidia Roadmap Update (Timothy Lanfear) 12:30 lunch 13:30 OpenACC Session 4: Improving OpenACC performance 13:30 Lecture: OpenACC performance tuning and interoperability 14:15 Practical: continuing to accelerate a larger code 15:00 break 15:30 OpenACC Session 6: OpenACC for parallel applications 15:30 Case study: the parallel Multigrid and Himeno codes 16:15 Summary and outlook 16:30 close https://events.prace-ri.eu/event/165/ 2012-08-28 06:00:00 UTC 2012-08-30 16:00:00 UTC [] [] [] workshops_and_courses [] []
  • Parallel Programming with MPI and OpenMP and Advanced Parallel Programming @ HLRS (Stuttgart)

    3 - 7 September 2012

    Parallel Programming with MPI and OpenMP and Advanced Parallel Programming @ HLRS (Stuttgart) https://tess.elixir-europe.org/events/parallel-programming-with-mpi-and-openmp-and-advanced-parallel-programming-hlrs-stuttgart This course has three parts:Distributed memory parallelization with the Message Passing Interface MPI (for beginners) (Mon+Tue) On clusters and distributed memory architectures, parallel programming with the Message Passing Interface (MPI) is the dominating programming model. The course gives an full introduction into MPI-1. Further aspects are domain decomposition, load balancing, and debugging. An MPI-2 overview and the MPI-2 one-sided communication is also taught.Shared memory parallelization with OpenMP (for beginners) (Wed) The focus is on shared memory parallelization with OpenMP, the key concept on hyper-threading, dual-core, multi-core, shared memory, and ccNUMA platforms. This course teaches shared memory OpenMP parallelization.Advanced topics in parallel programming (Thu+Fri) Topics are MPI-2 parallel file I/O, hybrid mixed model MPI+OpenMP parallelization, OpenMP on clusters, parallelization of explicit and implicit solvers and of particle based applications, parallel numerics and libraries, and parallelization with PETSc.Hands-on sessions (in C and Fortran) are included. Further information on the three parts of this course and the registration form, see https://fs.hlrs.de/projects/par/events/2012/parallel_prog_2012/#PAR-MPI We will provide test accounts for the participants. HERMIT is available in Germany and Europe throughhttp://www.hlrs.de/organization/sos/puma/services/user-projects/user-access-and-user-management/ Deadline for registration is already Aug. 5, 2012. This course is a PRACE Advanced Training Centre (PATC) courses at HLRS. https://events.prace-ri.eu/event/73/ 2012-09-03 06:30:00 UTC 2012-09-07 14:30:00 UTC [] [] [] workshops_and_courses [] []
  • Parallel programming with MPI and MPI-IO

    11 - 14 September 2012

    Parallel programming with MPI and MPI-IO https://tess.elixir-europe.org/events/parallel-programming-with-mpi-and-mpi-io MPI is the dominant programming model used to parallelize applications on all large-scale parallel machines, as well as on Linux and Windows clusters of all sizes.Content: Introduction to MPI and environment Point-to-point communications Collective communications One-sided communications Derived datatypes Optimizations Communicators MPI-IO Hands-on sessions  Learning outcomes After this course, participants should know how to parallelize efficiently an application with the MPI library, using basic (P2P or collective communications …) or more advanced features (derived datatypes, overlapping of computation and communication…) of MPI.Prerequisites A good knowledge of C or Fortran programming language. Parallel programming knowledge is not required. https://events.prace-ri.eu/event/53/ 2012-09-11 06:00:00 UTC 2012-09-14 16:00:00 UTC [] [] [] workshops_and_courses [] []
  • Fortran 2003/2008 @ CSC

    11 - 13 September 2012

    Fortran 2003/2008 @ CSC https://tess.elixir-europe.org/events/fortran-2003-2008-csc This three day course will give the participants basic knowledge of the Fortran 95/2003 programming language together with glimpses on the latest revisions of the Fortran standard and its most useful constructs. The course is divided into two parts: the first two days cover the Fortran 95/2003 programming language and the third one dives into the co-array feature (CAF) of the Fortran 2008 standard. Each day includes lectures and practical hands-on exercises.Learning outcome At the end of the course, the attendees will be able to write small Fortran programs and understand legacy (and newer) software written in Fortran, and to have an idea on the co-arrays approach in parallel computing.Prerequisites Using Unix/Linux as well as knowledge of how to use text editors like emacs or vi.Lecturers: Pekka Manninen (CSC), Sami Saarinen (CSC), David Henty (EPCC)Price: Free of chargePreliminary program Day 1 and 2 Getting started with Fortran Arrays in Fortran Procedures and modules File I/O Other handy Fortran features Day 3 Introduction to Co-Array-Fortran (CAF) Registration has expired. https://events.prace-ri.eu/event/30/ 2012-09-11 06:00:00 UTC 2012-09-13 14:00:00 UTC [] [] [] workshops_and_courses [] []
  • Advanced Fortran topics (1/5)

    17 - 21 September 2012

    Advanced Fortran topics (1/5) https://tess.elixir-europe.org/events/advanced-fortran-topics-1-5 This course is targeted at scientists who wish to extend their knowledge of Fortran beyond what is provided in the Fortran 95 standard. Some other tools relevant for software engineering are also discussed. Topics covered include object oriented features design patterns generation and handling of shared libraries mixed language programming standardized IEEE arithmetic and exceptions I/O extensions from Fortran 2003 parallel programming with coarrays source code versioning system (subversion) To consolidate the lecture material, each day's approximately 4 hours of lecture are complemented by 3 hours of hands-on sessions. for more details and registration see: http://www.lrz.de/services/compute/courses/#Advanced_Fortran1 https://events.prace-ri.eu/event/79/ 2012-09-17 06:00:00 UTC 2012-09-21 14:00:00 UTC [] [] [] workshops_and_courses [] []
  • Introduction to Parallel Programming with MPI & OpenMP @ CSC

    24 - 26 September 2012

    Introduction to Parallel Programming with MPI & OpenMP @ CSC https://tess.elixir-europe.org/events/introduction-to-parallel-programming-with-mpi-openmp-csc The course introduces the basics of parallel programming with the message passing interface (MPI) and OpenMP paradigms. The course consists of lectures and hands-on exercises on parallel programming.Learning outcome After the course the participants should be able to write simple parallel programs and parallelize existing programs with the basic features of MPI and/or OpenMP.Prerequisites No prior knowledge on parallel programming is required, but the participants are assumed to have working knowledge of either Fortran 90 or C programming languages.Preliminary programDay 1: Introduction to parallel programming. OpenMP: programming model, directives, data scope, synchronization and runtime library. Day 2: Message-passing programming model, MPI. MPI point-to-point communication. Non-blocking communication. Day 3: Collective communication. User defined communicators. Performance considerations. Lecturer: Sami Ilvonen (CSC), Martti Louhivuori (CSC)Price: Free of charge https://events.prace-ri.eu/event/31/ 2012-09-24 06:00:00 UTC 2012-09-26 14:00:00 UTC [] [] [] workshops_and_courses [] []
  • C-C++ Multicore Application Programming

    1 - 4 October 2012

    C-C++ Multicore Application Programming https://tess.elixir-europe.org/events/c-c-multicore-application-programming The purpose of this training is to provide a pedagogical presentation of C-C++ shared memory multicore application programming. These programming languages provide access to a substantial number of multithreading programming environments and libraries, like the native threads libraries (Pthreads in Linux-Unix, Windows threads), OpenMP, the Intel Parallel Suite (Threading Building Blocks, Cilk++, ArBB), several high level libraries and, last but not least, the new C++ norm adopted in 2011 (C++11) that integrate multithreading in the language specification.The pedagogical objective of this training is to provide a unified presentation of the basic concepts of multithreading and shared memory programming, underlining the universality of these concepts and discussing the way in which they are declined in the different programming environments. This training assesses the focus, the strengths and the eventual weaknesses of the different programming environment, insisting on their complementarily as well as on their interoperability. Numerous examples are given on the usage of TBB or Pthreads based tools in an OpenMP environment, in order to cope with parallel contexts that are not easily handled in OpenMP.Content Introduction to multithreading, overview of present hardware and software technologies Creating and managing threads Thread safe programming Concurrent access to shared data: the need of mutual exclusion Event synchronization of threads Memory coherence and memory consistency issues. The role of memory consistency models. Pthreads based library of high level synchronization tools. Thread pools as high level thread management utilities. Task centric programming versus thread centric programming. Operation of the OpenMP thread pool. In depth discussion of task centric programming in OpenMP. OpenMP examples in SPMD programming : three real, relevant applications. OpenMP examples in pipelining threads, using interoperability with Pthreads tools: two real relevant applications Comments on hybrid MPI-Multicore programming. The Threading Building Blocks (TBB) library. Complementarily with OpenMP and Pthreads. Overview of Cilk++ Overview of ArBB (Array Building Blocks) Learning outcomesEnhanced programmer’s capabilities in application code design. Enhanced programmer's insights on threads, not multithreading languages, by focusing on parallel and concurrent patterns that occur in real applications, and by discussing useful tricks, potential pitfalls and best practices that are largely independent of the underlying programming environmentPrerequisites Experience in C programming and some very limited knowledge of C++. C++ programming is not required. https://events.prace-ri.eu/event/60/ 2012-10-01 06:00:00 UTC 2012-10-04 16:00:00 UTC [] [] [] workshops_and_courses [] []
  • Introduction to parallel programming and Message Passing paradigm @ CINECA

    8 - 10 October 2012

    Introduction to parallel programming and Message Passing paradigm @ CINECA https://tess.elixir-europe.org/events/introduction-to-parallel-programming-and-message-passing-paradigm-cineca In this course concepts of memory parallel programming and the MPI standard will be introduced. MPI (Message Passing Interface) is a message-passing library specification which provides a powerful and portable way for expressing parallel programs. Implementations are available for all modern computer architectures and programs can be written in C/C++ or FORTRAN 77/90, making MPI the most popular and one of the most efficient paradigms for writing parallel applications. There will be an overview of the facilities available for point-to-point and collective communications, followed by a discussion of the use of communicators, virtual topologies and MPI derived datatypes. The major part of the course will be devoted to practical sessions where students will use the concepts discussed in the presentations to parallelise a program based on domain decomposition on a lattice. Examples will be given in both the C and FORTRAN languages.Learning outcomes Understanding of the basic principles of message passing and the MPI Standard. Ability to write and run parallel MPI programs.Prerequisites Basic knowledge and experience of C/C++ or FORTRAN 77/90. Experience with UNIX operating systems.Price: Free of charge https://events.prace-ri.eu/event/55/ 2012-10-08 07:10:00 UTC 2012-10-10 16:30:00 UTC [] [] [] workshops_and_courses [] []
  • Introduction to OpenMP programming @ CINECA

    11 October 2012

    Introduction to OpenMP programming @ CINECA https://tess.elixir-europe.org/events/introduction-to-openmp-programming-cineca This course introduce participants to OpenMP, a portable and scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer. The course is organized in lecture and exercise sessions.Topics Introduction to shared memory parallel programming. OpenMP philosophy Compiler directives Parallel regions Data scope Synchronization Runtime library routines Environment variables Programming examples Learning outcomes Ability to write simple parallelization of scientific codes using OpenMP directives.Prerequisites Basic knowledge and experience of C/C++ or FORTRAN 77/90. Experience with UNIX operating systems.Price: free of charge https://events.prace-ri.eu/event/56/ 2012-10-11 07:10:00 UTC 2012-10-11 16:30:00 UTC [] [] [] workshops_and_courses [] []
  • Introduction to hybrid programming MPI+OpenMP @ CINECA

    12 October 2012

    Introduction to hybrid programming MPI+OpenMP @ CINECA https://tess.elixir-europe.org/events/introduction-to-hybrid-programming-mpi-openmp-cineca This course give an overview of MPI+OpenMP hybrid programming techniques for HPC applications. OpenMP directives and a distributed memory programming paradigm can be mixed to exploit at best on a modern HPC cluster. The course aims at providing the student with the fundamental techniques for developing an hybrid code both for C/C++ and Fortran programming languages, giving also an introduction to the architecture of NUMA machines. The course summarize the performance tuning techniques, by also introducing the most common performance bottlenecks of an hybrid code.Topics Hybrid models for HPC Memory usage Thread safety False sharing Mixing modes NUMA machines Thread affinity Learning outcomes Ability to develop a simple MPI+OpenMP code. Understanding on NUMA architectures and their connection with the hybrid paradigm. Understanding on the common problems with hybrid codes.Prerequisites Basic knowledge of MPI and OpenMP.Price: free of charge https://events.prace-ri.eu/event/57/ 2012-10-12 07:10:00 UTC 2012-10-12 16:30:00 UTC [] [] [] workshops_and_courses [] []
  • 10th VI-HPS Workshop

    16 October 2012

    10th VI-HPS Workshop https://tess.elixir-europe.org/events/10th-vi-hps-workshop The 10th VI-HPS workshop offers an in-depth coverage of the toolset necessary to improve productivity and performance for large-scale HPC simulation programs. The Agenda is now available.  Please register via the LRZ registration form (Please choose course HHPS1W12) https://events.prace-ri.eu/event/90/ 2012-10-16 07:00:00 UTC 2012-10-16 08:00:00 UTC [] [] [] workshops_and_courses [] []
  • Hybrid programming for Material Science @ CINECA

    19 October 2012

    Hybrid programming for Material Science @ CINECA https://tess.elixir-europe.org/events/hybrid-programming-for-material-science-cineca The course covers the MPI and OpenMP subroutines, pragmas and parallelization techniques used in material science popular codes. In the morning an overview of MPI and OpenMP basic principles and subroutine will be presented. In the afternoon the focus will be on the applications (Quantum Espresso, Ab-init, BigDF) and on how they are parallelized using MPI and OpenMP.Learning outcomes Hybrid (MPI+OpenMP) programming techniques implemented in material science codes; profitable usage of multicore architectures; ability to modify codes without breaking the parallelism and to apply the hybrid programming techniques to other codes.Prerequisites Material Science background and knowledge of Fortran and MPI.Price: free of charge https://events.prace-ri.eu/event/58/ 2012-10-19 07:10:00 UTC 2012-10-19 16:30:00 UTC [] [] [] workshops_and_courses [] []
  • Usage of CURIE@CEA-TGCC tier-0 supercomputer and related best practices

    24 - 26 October 2012

    Usage of CURIE@CEA-TGCC tier-0 supercomputer and related best practices https://tess.elixir-europe.org/events/usage-of-curie-cea-tgcc-tier-0-supercomputer-and-related-best-practices Content Overview of CURIE and TGCC Access and practical information: procedures, documentation, contacts Usage of the supercomputing centre resources and related best practices Programming environment (compilers, MPI, OpenMP, Cuda, debuggers, other tools) Job submission (advanced usage and TGCC tools) Available software (codes, libraries…) I/O and data management Advanced usage: code optimization and tuning, Bull libraries … Learning outcomes The aim of this course is to give new users an overview of CURIE tier-0 system and its environment (access, storage, development tools...), as well as best practices for their usage, with a special focus on specific features (advanced usage and programming tools) so as to help them making efficient use of their allocated resources on thin, fat or hybrid node partitions.Prerequisite Basic knowledge of UNIX/Linux and some knowledge and practice of a programming language https://events.prace-ri.eu/event/61/ 2012-10-24 12:00:00 UTC 2012-10-26 10:00:00 UTC [] [] [] workshops_and_courses [] []
  • Advanced Parallel Programming @ CSC

    29 - 31 October 2012

    Advanced Parallel Programming @ CSC https://tess.elixir-europe.org/events/advanced-parallel-programming-csc This workshop goes to more advanced topics and techniques in high-performance computing. Parallel algorithms, more advanced topics in message-passing interface (MPI), parallel tools and numerical libraries, parallel I/O, as well as shared-memory parallelization techniques combined with MPI are discussed and exemplified.Learning outcome Understanding of parallel algorithms, advanced features of message-passing interface (MPI), parallel tools and numerical libraries, parallel I/O, and hybrid OpenMP/MPI techniques.Prerequisites The PATC course "Introduction to Parallel Programming with MPI and OpenMP" or equivalent background knowledge together with fluency in Fortran 95 and/or C programming languages will be assumed.Lecturer: Sami Ilvonen (CSC), Pekka Manninen (CSC)Price: Free of charge https://events.prace-ri.eu/event/32/ 2012-10-29 07:00:00 UTC 2012-10-31 15:00:00 UTC [] [] [] workshops_and_courses [] []
  • Cray XE6 Optimization Workshop @ HLRS (Stuttgart)

    5 - 8 November 2012

    Cray XE6 Optimization Workshop @ HLRS (Stuttgart) https://tess.elixir-europe.org/events/cray-xe6-optimization-workshop-hlrs-stuttgart HLRS installed HERMIT, a Cray XE6 system with AMD Interlagos processors and a performance of 1 PFlop/s. We strongly encourage you to port your applications to the new architecture as early as possible. To support such effort we invite current and future users to participate in special Cray XE6 Optimization Workshops. With this course, we will give all necessary information to move applications from the current NEC SX-9, the Nehalem cluster, or other systems to HERMIT. HERMIT provides our users with a new level of performance. To harvest this potential will require all our efforts. We are looking forward to working with our users on these opportunities.Monday-Wednesday, specialists from Cray will support you in your effort porting and optimizing your application on our Cray XE6. On Thursday, Geog Hager and Jan Treibig from RRZE will present detailed information on optimizing codes on the multicore AMD Interlagos processor. HERMIT is available in Germany and Europe through this link.     https://events.prace-ri.eu/event/78/ 2012-11-05 08:00:00 UTC 2012-11-08 15:30:00 UTC [] [] [] workshops_and_courses [] []
  • HPC Surgery: debugging, profiling and optimization of a scientific code

    12 - 13 November 2012

    HPC Surgery: debugging, profiling and optimization of a scientific code https://tess.elixir-europe.org/events/hpc-surgery-debugging-profiling-and-optimization-of-a-scientific-code This event is a 2-day course whose aim is to help developers of scientific codes to better understand optimization techniques and the usage of advanced tools for profiling and debugging. Participants will have the possibility to work together with CINECA experts on their own codes. Each student will be given a two weeks access to the CINECA's hybrid cluster PLX. Topics Totalview and gdb dubuggers Scalasca and gprof profilers Valgrind memory checker. Learning outcomes Better understanding on optimization techniques and on the usage of advanced tools for profiling and debugging.Prerequisites Experience with a scientific programming language (C/C++, Fortran) and Unix operating system.Price: Free of charge https://events.prace-ri.eu/event/50/ 2012-11-12 08:30:00 UTC 2012-11-13 17:30:00 UTC [] [] [] workshops_and_courses [] []
  • Cray XE6 Performance Workshop @ EPCC

    20 - 22 November 2012

    Cray XE6 Performance Workshop @ EPCC https://tess.elixir-europe.org/events/cray-xe6-performance-workshop-epcc-2f380e41-270a-46f4-9d58-3e74e7ca8a03 The Cray Centre of Excellence for HECToR and EPCC will deliver this course on the Cray XE6 and Multicore programming over three days.  It will introduce new and existing users to the more powerful and advanced features of the hardware and software stack available.  The first day is a general introduction to modern HPC architectures and programming techniques, with practical examples done on the Cray XE6. The second and third days focus on hardware and software issues specific to the Cray XE6, including a detailed overview of the "Interlagos" Opteron processor architecture, the Gemini network interconnect, Cray systems software and performance tools. It is possible to register for all 3 days, or day 1 only, or days 2 and 3 only. The programme will include: An overview of modern HPC architectures. Using multi-core processors. Modern memory systems. Caching and performance issues. A detailed overview of the "Interlagos" Opteron processor architecture and Gemini network interconnect. Details on using the Interlagos cores in fully populated or core-pair mode. Demonstrations of the additional flexibility and functionality available with the Cray MPI library: Methods for customising the placement of ranks and processes to improve individual application communication performance. Mechanisms for improving the overlap between communication and computation within an application. Using and optimising MPI-IO for efficient file system performance. Guidance on use of Cray supplied optimisations of the standard installed scientific libraries. Tutorials on analysis tools, CrayPAT including the new Reveal tool. Guided tutorial and practical session on the Totalview debugging tool covering advanced features like: Advanced memory debugging Replayengine - reverse debugging Automatic debugging through the use of scripts General tips and tricks from the Cray Centre of Excellence for HECToR on optimising applications on Cray architectures. Attendees would benefit from experience with or an interest in Cray hardware. There will also be many opportunities for attendees to discuss their applications with members of EPCC and the Cray Centre of Excellence. The organisers encourage attendees to make their own applications available for testing during practical sessions. This course is funded by the PRACE project and is free to all.Pre-requisite programming languages: Knowledge of Fortran, C or C++, and MPI would be benefiicial.  It is not possible to do the exercises in Java.Registering Please register at: https://events.prace-ri.eu/conferenceDisplay.py?confid=92Draft timetableDay 1 - An Introduction to Multi-core programming 10:00 Modern HPC architectures 10:30 Multicore processors 11:00 COFFEE 11:30 Multicore practical 12:00 Hybrid MPI/OpenMP programming 12:30 Hybrid practical 13:00 LUNCH 14:00 Memory and cache hierarchies 14:45 Memory practical 15:30 TEA 16:00 Cache coherency and NUMA issues 17:00 Cache practical 17:30 CLOSE Day 2 - Understanding and Optimising HECToR's Cray Environment 09:30 Lectures: Overview to the Cray XE6 Hardware 11:00 COFFEE 11:30 Lectures: Advanced use of the Cray Performance Analysis Toolkit 13:00 LUNCH 14:00 Lectures: Optimising communication for the Cray XE6 15:30 TEA 16:00 Open Session/Discussion: Case studies and tips and tricks 17:30 CLOSE Day 3 - Advanced Features of HECToR's Environment 09:30 Lectures: Introduction to the Cray Scientific libraries 11:00 COFFEE 11:30 Lectures: Optimising I/O on the Cray. 13:00 LUNCH 14:00 Lectures: Advanced debugging with Totalview 15:30 TEA 16:00 Practical: Advanced debugging with Totalview 17:30 CLOSE https://events.prace-ri.eu/event/92/ 2012-11-20 09:00:00 UTC 2012-11-22 17:30:00 UTC [] [] [] workshops_and_courses [] []
  • Parallel Programming Workshop @ BSC

    26 - 30 November 2012

    Parallel Programming Workshop @ BSC https://tess.elixir-europe.org/events/parallel-programming-workshop-bsc All PATC Courses do not charge fees. Objectives: The course starts with the objective of setting up the basic foundations related with task decomposition and parallelization inhibitors, using a tool to analyze potential parallelism and dependences. The course follows with the objective of understanding the fundamental concepts supporting shared-memory and message-passing programming models. The course is taught using formal lectures and practical/programming sessions to reinforce the key concepts and set up the compilation/execution environment. The course covers the two widely used programming models: OpenMP for the shared-memory architectures and MPI for the distributed-memory counterparts. The use of OpenMP in conjunction with MPI to better exploit the shared-memory capabilities of current compute nodes in clustered architectures is also considered. Paraver will be used along the course as the tool to understand the behavior and performance of parallelized codes.  Level: For trainees with some theoretical and practical knowledge, some programming experience.Learning Outcomes: On completion of this course students should be able to: Understand the use of task decomposition and the inhibitors of the potential parallelism in a sequential algorithm. Understand the fundamentals of shared-memory and message-passing models. Implement simple algorithms using OpenMP for shared-memory and MPI for message-passing. Compile, execute and debug simple OpenMP and MPI codes. Understand the performance of OpenMP and MPI codes. Prerequisites:Fortran, C or C++ programming. All examples in the course will be done in C. https://events.prace-ri.eu/event/74/ 2012-11-26 08:30:00 UTC 2012-11-30 17:00:00 UTC [] [] [] workshops_and_courses [] []
Note, this map only displays events that have geolocation information in TeSS.
For the complete list of events in TeSS, click the grid tab.