Mantid: Performance of Building and Binning MDEvents Janik Zikovsky April 8 th, 2011.

Slides:



Advertisements
Similar presentations
Closest Point Transform: The Characteristics/Scan Conversion Algorithm Sean Mauch Caltech April, 2003.
Advertisements

Implementing the Probability Matrix Technique for Positron Emission Tomography By: Chris Markson Student Adviser: Dr. Kaufman.
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500 Cluster.
PTAS for Bin-Packing. Special Cases of Bin Packing 1. All item sizes smaller than Claim 1: Proof: If then So assume Therefore:
Recursion. Recursive Definitions A recursive definition is one which uses the word being defined in the definition Not always useful:  for example, in.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 16: Recursion.
Evaluation and Optimization of a Titanium Adaptive Mesh Refinement Amir Kamil Ben Schwarz Jimmy Su.
High Performance Computing 1 Parallelization Strategies and Load Balancing Some material borrowed from lectures of J. Demmel, UC Berkeley.
CS 584 Lecture 11 l Assignment? l Paper Schedule –10 Students –5 Days –Look at the schedule and me your preference. Quickly.
Efficient Parallelization for AMR MHD Multiphysics Calculations Implementation in AstroBEAR.
The ATLAS trigger Ricardo Gonçalo Royal Holloway University of London.
E. WES BETHEL (LBNL), CHRIS JOHNSON (UTAH), KEN JOY (UC DAVIS), SEAN AHERN (ORNL), VALERIO PASCUCCI (LLNL), JONATHAN COHEN (LLNL), MARK DUCHAINEAU.
An Algebraic Multigrid Solver for Analytical Placement With Layout Based Clustering Hongyu Chen, Chung-Kuan Cheng, Andrew B. Kahng, Bo Yao, Zhengyong Zhu.
Quan Yu State Key Lab of CAD&CG Zhejiang University
Validation of Blood Flow Simulations in Intracranial Aneurysms Yue Yu Brown University Final-Project Presentation (Registration)‏
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
Tal Mor  Create an automatic system that given an image of a room and a color, will color the room walls  Maintaining the original texture.
Stratified Magnetohydrodynamics Accelerated Using GPUs:SMAUG.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Chap 3 : Binary Image Analysis. Counting Foreground Objects.
Chapter 12 Recursion, Complexity, and Searching and Sorting
Recursion and Dynamic Programming. Recursive thinking… Recursion is a method where the solution to a problem depends on solutions to smaller instances.
Lnujj / lljj informal meeting, Generation of W+jets with cut on W pt Alexander Solodkov IHEP, Protvino.
Reading – Chapter 10. Recursion The process of solving a problem by reducing it to smaller versions of itself Example: Sierpinski’s TriangleSierpinski’s.
PMLAB Finding Similar Image Quickly Using Object Shapes Heng Tao Shen Dept. of Computer Science National University of Singapore Presented by Chin-Yi Tsai.
Optimization_fff as a Data Product J.McTiernan HMI/AIA Meeting 16-Feb-2006.
Data Reduction. 1.Overview 2.The Curse of Dimensionality 3.Data Sampling 4.Binning and Reduction of Cardinality.
Chapter 4 Stochastic Modeling Prof. Lei He Electrical Engineering Department University of California, Los Angeles URL: eda.ee.ucla.edu
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 1 Automatic Heap Sizing: Taking Real Memory into Account Ting Yang, Emery Berger,
Advanced Computer Architecture and Parallel Processing Rabie A. Ramadan http:
 Review the principles of cost-volume-profit relationships  Discuss Excel what-if analysis tools 2.
A Region Based Stereo Matching Algorithm Using Cooperative Optimization Zeng-Fu Wang, Zhi-Gang Zheng University of Science and Technology of China Computer.
SDSS photo-z with model templates. Photo-z Estimate redshift (+ physical parameters) –Colors are special „projection” of spectra, like PCA.
LP Narrowing: A New Strategy for Finding All Solutions of Nonlinear Equations Kiyotaka Yamamura Naoya Tamura Koki Suda Chuo University, Tokyo, Japan.
Whole Program Paths James R. Larus. Outline 1. Find acyclic path fragments 2. Convert into whole-program path 3. Determine hot subpaths.
Image Segmentation by Histogram Thresholding Venugopal Rajagopal CIS 581 Instructor: Longin Jan Latecki.
Genotype Calling Matt Schuerman. Biological Problem How do we know an individual’s SNP values (genotype)? Each SNP can have two values (A/B) Each individual.
K-Means clustering accelerated algorithms using the triangle inequality Ottawa-Carleton Institute for Computer Science Alejandra Ornelas Barajas School.
An Evaluation of Partitioners for Parallel SAMR Applications Sumir Chandra & Manish Parashar ECE Dept., Rutgers University Submitted to: Euro-Par 2001.
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
Hierarchical Volume Rendering
Chapter 15: Recursion. Objectives In this chapter, you will: – Learn about recursive definitions – Explore the base case and the general case of a recursive.
Machine Vision ENT 273 Regions and Segmentation in Images Hema C.R. Lecture 4.
Image Processing A Study in Pixel Averaging Building a Resolution Pyramid With Parallel Computing Denise Runnels and Farnaz Zand.
1 Recursive algorithms Recursive solution: solve a smaller version of the problem and combine the smaller solutions. Example: to find the largest element.
Recursive Algorithm (4.4) An algorithm is called recursive if it solves a problem by reducing it to an instance of the same problem with smaller input.
David Luebke 3/5/2016 Advanced Computer Graphics Lecture 4: Faster Ray Tracing David Luebke
ESTIMATING THE 6m TAGGER ACCEPTANCE Thomas Schörner-Sadenius, UHH ZEUS Collaboration meeting DESY, 27 February 2006.
Chapter 15: Recursion. Recursive Definitions Recursion: solving a problem by reducing it to smaller versions of itself – Provides a powerful way to solve.
Chapter 15: Recursion. Objectives In this chapter, you will: – Learn about recursive definitions – Explore the base case and the general case of a recursive.
Graphics Lecture 14: Slide 1 Interactive Computer Graphics Lecture 14: Radiosity - Computational Issues.
CMPT 238 Data Structures More on Sorting: Merge Sort and Quicksort.
An Introduction to Programming Using Alice 2.2, Second Edition Chapter 7 Recursive Algorithms.
Optimizing 3D Multigrid to Be Comparable to the FFT Michael Maire and Kaushik Datta Note: Several diagrams were taken from Kathy Yelick’s CS267 lectures.
递归算法的效率分析. When a function is called... A transfer of control occurs from the calling block to the code of the function --It is necessary that there be.
ANALYSIS TRAIN ON THE GRID Mihaela Gheata. AOD production train ◦ AOD production will be organized in a ‘train’ of tasks ◦ To maximize efficiency of full.
Partitioned Sorting of Bitmap Indices Kyle Brooks.
Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India.
10.3 Details of Recursion.
Support Vector Machines and Kernels
CS 3343: Analysis of Algorithms
CS 3343: Analysis of Algorithms
CS 3343: Analysis of Algorithms
CS 3343: Analysis of Algorithms
CS 3343: Analysis of Algorithms
Course Outline Introduction in algorithms and applications
Tail Recursion.
CS 3343: Analysis of Algorithms
The BIRCH Algorithm Davitkov Miroslav, 2011/3116
PTAS for Bin-Packing.
Presentation transcript:

Mantid: Performance of Building and Binning MDEvents Janik Zikovsky April 8 th, 2011

“Boxing” parameters MDEventWorkspace’s use recursively gridded “boxes” to implement Adaptive Mesh Refinement. The important parameters are: –SplitInto: How many boxes in each dimension. –SplitThreshold: How many MDEvents in a box before it should split into several.

Create a MDEventWorkspace Starting from TOPAZ_2511 run with 25 million events, ~ 1 million pixels. Convert to reciprocal space (3D) MDEventWorkspace.

Time To Create MDEventWorkspace In general, it takes longer for coarser splitting (small SplitInto parameter)

Memory Used Small SplitInto and few events per box (small SplitThreshold) means more MDBoxes are created = extra memory required. Reasonable parameters: ~5% memory overhead from MDBoxes.

Binning Procedure Starting from the MDEventWorkspace, the time to perform “binning” (summing up events into 3D histogram bins) was calculated. Centerpoint binning

Coarse Binning 20x20x20 Very quick for almost any parameters.

Medium Binning 100x100x100 Strong dependence on the SplitThreshold: a large threshold means fewer, large MDBoxes. Each histogram bin then has to iterate over many more events to find which belong to it. Optimal parameters: SplitInto = 5 or so Threshold = events per fine box.

Fine Binning 100x100x100, zoomed in on a smaller volume. We see that if the split threshold is too high, then each fine bin is iterating through possibly 1000s of events – a different algorithm (going through events and placing them in bins) would be more efficient.

Conclusions The optimal parameters are: splitting into ~ 5x5x5 boxes when the number of MDEvents reaches ~10-20 events per split box. The time to create MDEventWorkspaces with more events should be ~ linear with the number of events. But I expect that binning time will be sub-linear with the number of events (as Boxes get smaller due to more events, fewer events will need to be iterated over). For example, binning to bins: – 25 million events: sec – 50 million events: sec – 75 million events: sec