MATHIC, SINGULAR & XMALLOC

Relaterede dokumenter
PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

Titel: Barry s Bespoke Bakery

Implementing SNOMED CT in a Danish region. Making sharable and comparable nursing documentation

Unitel EDI MT940 June Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004)

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)

Black Jack --- Review. Spring 2012

CHAPTER 8: USING OBJECTS

Basic statistics for experimental medical researchers

Brug sømbrættet til at lave sjove figurer. Lav fx: Få de andre til at gætte, hvad du har lavet. Use the nail board to make funny shapes.

UNISONIC TECHNOLOGIES CO.,

Sign variation, the Grassmannian, and total positivity

Bilag. Resume. Side 1 af 12

FAST FORRETNINGSSTED FAST FORRETNINGSSTED I DANSK PRAKSIS

Den nye Eurocode EC Geotenikerdagen Morten S. Rasmussen

Central Statistical Agency.

Engineering of Chemical Register Machines

Engelsk 6. klasse årsplan 2018/2019

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende

Help / Hjælp

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Reventlow Lille Skole

ECE 551: Digital System * Design & Synthesis Lecture Set 5

IPv6 Application Trial Services. 2003/08/07 Tomohide Nagashima Japan Telecom Co., Ltd.

what is this all about? Introduction three-phase diode bridge rectifier input voltages input voltages, waveforms normalization of voltages voltages?

CISM COURSE COMPUTATIONAL ACOUSTICS

Strings and Sets: set complement, union, intersection, etc. set concatenation AB, power of set A n, A, A +

Small Autonomous Devices in civil Engineering. Uses and requirements. By Peter H. Møller Rambøll

On the complexity of drawing trees nicely: corrigendum

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

GUIDE TIL BREVSKRIVNING

Generalized Probit Model in Design of Dose Finding Experiments. Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US

Maskinsikkerhed Risikovurdering Del 2: Praktisk vejledning og metodeeksempler

Our activities. Dry sales market. The assortment

E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss

RoE timestamp and presentation time in past

Linear Programming ١ C H A P T E R 2

United Nations Secretariat Procurement Division

Richter 2013 Presentation Mentor: Professor Evans Philosophy Department Taylor Henderson May 31, 2013

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X & 10.8

Side 1 af 9. SEPA Direct Debit Betalingsaftaler Vejledning

Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling

Observation Processes:

Financial Literacy among 5-7 years old children

Molio specifications, development and challenges. ICIS DA 2019 Portland, Kim Streuli, Molio,

Titel: Hungry - Fedtbjerget

Design til digitale kommunikationsplatforme-f2013

Business Opening. Very formal, recipient has a special title that must be used in place of their name

Business Opening. Very formal, recipient has a special title that must be used in place of their name

DSB s egen rejse med ny DSB App. Rubathas Thirumathyam Principal Architect Mobile

Statistical information form the Danish EPC database - use for the building stock model in Denmark

Engelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

Aktivering af Survey funktionalitet

How Long Is an Hour? Family Note HOME LINK 8 2

Heuristics for Improving

The X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen

mandag den 23. september 13 Konceptkommunikation

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Managing stakeholders on major projects. - Learnings from Odense Letbane. Benthe Vestergård Communication director Odense Letbane P/S

Probabilistic properties of modular addition. Victoria Vysotskaya

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

Besvarelser til Lineær Algebra Reeksamen Februar 2017

Application form for access to data and biological samples Ref. no

Introduction Ronny Bismark

Danish Language Course for International University Students Copenhagen, 12 July 1 August Application form

LED STAR PIN G4 BASIC INFORMATION: Series circuit. Parallel circuit HOW CAN I UNDERSTAND THE FOLLOWING SHEETS?

INGEN HASTVÆRK! NO RUSH!

Danish Language Course for Foreign University Students Copenhagen, 13 July 2 August 2016 Advanced, medium and beginner s level.

IBM WebSphere Operational Decision Management

Skriftlig Eksamen Beregnelighed (DM517)

Den uddannede har viden om: Den uddannede kan:

Appendix 1: Interview guide Maria og Kristian Lundgaard-Karlshøj, Ausumgaard

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

Bookingmuligheder for professionelle brugere i Dansehallerne

COACH NETWORK MEETING

extreme Programming Kunders og udvikleres menneskerettigheder

Trolling Master Bornholm 2014

Trolling Master Bornholm 2014

Procuring sustainable refurbishment

Sikkerhedsvejledning

SEPA Direct Debit. Mandat Vejledning Nets Lautrupbjerg 10 DK-2750 Ballerup

A multimodel data assimilation framework for hydrology

Det er muligt at chekce følgende opg. i CodeJudge: og

Som mentalt og moralsk problem

Hvor er mine runde hjørner?

Sustainable use of pesticides on Danish golf courses

Sport for the elderly

Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances.

Exploring Subversive Eclipse SVN Team Provider

DONG Energy. Photobook

Agenda. The need to embrace our complex health care system and learning to do so. Christian von Plessen Contributors to healthcare services in Denmark

Applications. Computational Linguistics: Jordan Boyd-Graber University of Maryland RL FOR MACHINE TRANSLATION. Slides adapted from Phillip Koehn

Breaking Industrial Ciphers at a Whim MATE SOOS PRESENTATION AT HES 11

QUICK START Updated:

FACULTY OF SCIENCE :59 COURSE. BB838: Basic bioacoustics using Matlab

Martin Lohse. Passing. Three mobile for accordion. Composed

Blomsten er rød (af Harry Chapin, oversat af Niels Hausgaard)

Brüel & Kjær cooperation with Turbomeca - France

QUICK START Updated: 18. Febr. 2014

USERTEC USER PRACTICES, TECHNOLOGIES AND RESIDENTIAL ENERGY CONSUMPTION

Transkript:

MATHIC, SINGULAR & XMALLOC Christian Eder POLSYS Team, UPMC, Paris, France June 11, 2013 1 / 17

1 SINGULAR Signature-based Gröbner Basis algorithms Restructuring SINGULAR 2 XMALLOC 3 MATHIC Overall structure Matrix reduction part Methods of Parallelization Future steps 2 / 17

Signature-based Gröbner Basis algorithms Implementation of different variants of F5: Kernel implementation Up to 10 times faster than SINGULAR s std implementation Not using any linear algebra, plain polynomial reduction Officially available in SINGULAR 4.0 3 / 17

Signature-based Gröbner Basis algorithms Implementation of different variants of F5: Kernel implementation Up to 10 times faster than SINGULAR s std implementation Not using any linear algebra, plain polynomial reduction Officially available in SINGULAR 4.0 Library implementation together with John Perry Teaching purpose only 3 / 17

Restructuring SINGULAR Since May 2011 the team is restructuring the kernel of SINGULAR: Making kernel readable again Documentation of the code Enabling other systems to use only parts of the kernel: 4 / 17

Restructuring SINGULAR Since May 2011 the team is restructuring the kernel of SINGULAR: Making kernel readable again Documentation of the code Enabling other systems to use only parts of the kernel: Memory management Poly structures and arithmetic Gröbner layer... 4 / 17

Restructuring SINGULAR Since May 2011 the team is restructuring the kernel of SINGULAR: Making kernel readable again Documentation of the code Enabling other systems to use only parts of the kernel: Memory management Poly structures and arithmetic Gröbner layer... First official release: End of 2013 4 / 17

1 SINGULAR Signature-based Gröbner Basis algorithms Restructuring SINGULAR 2 XMALLOC 3 MATHIC Overall structure Matrix reduction part Methods of Parallelization Future steps 5 / 17

SINGULAR s memory manager SINGULAR depends on special purpose memory manager called OMALLOC. 6 / 17

SINGULAR s memory manager SINGULAR depends on special purpose memory manager called OMALLOC. 2 Problems: 1. OMALLOC deeply integrated in SINGULAR s kernel 2. OMALLOC not thread-safe 6 / 17

SINGULAR s memory manager SINGULAR depends on special purpose memory manager called OMALLOC. 2 Problems: 1. OMALLOC deeply integrated in SINGULAR s kernel 2. OMALLOC not thread-safe = XMALLOC standalone library with interface to SINGULAR step by step making it thread-safe keeping OMALLOC s speed and memory footprint when used in SINGULAR 6 / 17

1 SINGULAR Signature-based Gröbner Basis algorithms Restructuring SINGULAR 2 XMALLOC 3 MATHIC Overall structure Matrix reduction part Methods of Parallelization Future steps 7 / 17

Main structure of the library Consists of 3 big parts: MathicGB Gröbner basis structures and algorithms Mathic Data types, structures, hashing Memtailor Small arena memory manager 8 / 17

Mathic (Roune, Stillman) C++ library of data structures designed for Gröbner basis computation, like S-pairs, performing divisor queries, ordering polynomial terms during reduction,... 9 / 17

Mathic (Roune, Stillman) C++ library of data structures designed for Gröbner basis computation, like S-pairs, performing divisor queries, ordering polynomial terms during reduction,... Highly templated, thus applicable with a wide range of monomial/term resp. coefficient representations. 9 / 17

Mathic (Roune, Stillman) C++ library of data structures designed for Gröbner basis computation, like S-pairs, performing divisor queries, ordering polynomial terms during reduction,... Highly templated, thus applicable with a wide range of monomial/term resp. coefficient representations. Only suitable for dense representations of monomials/terms, e.g. Mathic regularly asks for What is the exponent of variable number k in this monomial/term? 9 / 17

Mathic (Roune, Stillman) C++ library of data structures designed for Gröbner basis computation, like S-pairs, performing divisor queries, ordering polynomial terms during reduction,... Highly templated, thus applicable with a wide range of monomial/term resp. coefficient representations. Only suitable for dense representations of monomials/terms, e.g. Mathic regularly asks for What is the exponent of variable number k in this monomial/term? Note The paper Practical Groebner Basis Computation by Roune and Stillman describes the data structures from a high level. The paper was presented at ISSAC12 and is available (in an extended version) at http://arxiv.org/abs/1206.6940. 9 / 17

MathicGB (Roune, Stillman, E.) C++ library for computing Gröbner bases. 10 / 17

MathicGB (Roune, Stillman, E.) C++ library for computing Gröbner bases. Initially started to implement Buchberger-like algorithms; those depend highly on Mathic. 10 / 17

MathicGB (Roune, Stillman, E.) C++ library for computing Gröbner bases. Initially started to implement Buchberger-like algorithms; those depend highly on Mathic. The signature-based algorithm SB is implemented in MathicGB (presented at ISSAC12). 10 / 17

MathicGB (Roune, Stillman, E.) C++ library for computing Gröbner bases. Initially started to implement Buchberger-like algorithms; those depend highly on Mathic. The signature-based algorithm SB is implemented in MathicGB (presented at ISSAC12). Summer 2012: Bjarke came to Kaiserslautern, started thinking about F4 and matrix reduction 10 / 17

MathicGB (Roune, Stillman, E.) C++ library for computing Gröbner bases. Initially started to implement Buchberger-like algorithms; those depend highly on Mathic. The signature-based algorithm SB is implemented in MathicGB (presented at ISSAC12). Summer 2012: Bjarke came to Kaiserslautern, started thinking about F4 and matrix reduction End of 2012: A first working, parallel F4 implementation. 10 / 17

Implementation of matrix reduction Implementing idea of Faugère and Lachartre: 11 / 17

Implementation of matrix reduction Implementing idea of Faugère and Lachartre: Quadmatrix, already in ABCD shape. A B C D 11 / 17

Implementation of matrix reduction Implementing idea of Faugère and Lachartre: Quadmatrix, already in ABCD shape. A B C D Not reducing A, but directly eliminating C. 11 / 17

Implementation of matrix reduction Implementing idea of Faugère and Lachartre: Quadmatrix, already in ABCD shape. A B C D Not reducing A, but directly eliminating C. Focussing on fields of prime characteristic < 2 16. Delayed modulus when reducing D to D by the surrounding parts. 11 / 17

How our matrices look like 12 / 17

Implementation of matrix reduction Sparse and dense matrix representations 13 / 17

Implementation of matrix reduction Sparse and dense matrix representations No blocking at the moment. 13 / 17

Implementation of matrix reduction Sparse and dense matrix representations No blocking at the moment. Straightforward parallelization over the rows. 13 / 17

Implementation of matrix reduction Sparse and dense matrix representations No blocking at the moment. Straightforward parallelization over the rows. Working on more general input in order to compare with Martani s implementation directly. 13 / 17

Implementation of matrix reduction Sparse and dense matrix representations No blocking at the moment. Straightforward parallelization over the rows. Working on more general input in order to compare with Martani s implementation directly. Ongoing tasks: Matrix format, (parallel) matrix construction 13 / 17

Methods of Parallelization Memtailor uses pthreads at some crucial points. The parallelization of the matrix reduction in MathicGB is implemented using Intel Threading Building Blocks: 14 / 17

Methods of Parallelization Memtailor uses pthreads at some crucial points. The parallelization of the matrix reduction in MathicGB is implemented using Intel Threading Building Blocks: Very C++ish, templates galore, etc. 14 / 17

Methods of Parallelization Memtailor uses pthreads at some crucial points. The parallelization of the matrix reduction in MathicGB is implemented using Intel Threading Building Blocks: Very C++ish, templates galore, etc. Until now only basic parallel for / blocked range implementations. 14 / 17

Methods of Parallelization Memtailor uses pthreads at some crucial points. The parallelization of the matrix reduction in MathicGB is implemented using Intel Threading Building Blocks: Very C++ish, templates galore, etc. Until now only basic parallel for / blocked range implementations. Needs more abstraction on the task level. 14 / 17

Near future Do not double memory while preparing matrix Permuting rows and columns currently copies. Break matrices into smaller stripes of columns Enabling 16-bit column indices for each stripe; trying to put several rows of such a stripe into L1-cache. Finer graining in parallelization Until now only Intel Threading Blocks is used. 15 / 17

On the longer run Rewrite of the matrix reduction Right now it is a rather straightforward implementation; needs to become an own layer. F5F4 Until now this is a plain F4 implementation. Signature-based computations are only available without linear algebra at the moment. Syzygy computations Investigating GPUs Whole new business when it comes to efficient implementation due to different architecture. 16 / 17

GIT repositories available LELA https://github.com/martani/lela SINGULAR https://github.com/singular/sources XMALLOC https://github.com/ederc/xmalloc MATHIC https://github.com/broune/memtailor https://github.com/broune/mathic https://github.com/broune/mathicgb 17 / 17