Professor David Gregg

Professor David Gregg

Professor, Computer Science

3531896 1786www.cs.tcd.ie/David.Gregg

Biography

I am a lecturer in the Department of Computer Science, Trinity College Dublin. Within the larger Computer Architecture Group, I lead my own small research group of six postgraduate research students, and one postdoctoral researcher. Before coming to Trinity College Dublin, I studied for a doctorate in Computer Science at the Technische Universitaet in Vienna, on the topic of compiling for advanced instruction level parallel architectures, such as VLIW and EPIC machines. In 2001 I was awarded my doctoral degree with distinction (mit augezeichnetem Erfolg).

Publications and Further Research Outputs

  • Xu,Shixiong S., Gregg,David D., Semi-automatic composition of data layout transformations for loop vectorization, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 8707 LNCS, 2014, p485-496Journal Article, 2014, DOI
  • Avinash Malik and David Gregg, Heuristics on Reachability Trees for Bicriteria Scheduling of Stream Graphs on Heterogeneous Multiprocessor Architectures, ACM Transactions on Embedded Computing Systems, 14, (2), 2015, p23.1 - 23.26Journal Article, 2015, DOI
  • A language and tool for generating efficient virtual machine interpreters in, editor(s)C. Lengauer, C. Consel, D. Batory, M. Odersky , Domain-Specific Program Generation, 2004, pp195 - 215, [David Gregg and M. Anton Ertl]Book Chapter, 2004
  • Benchmarking the Java virtual architecture in, editor(s)Mario Wolczko and Vijaykrishnan Narayanan , Java Microarchitectures, Kluwer Academic Publishers, 2002, pp1 - 18, [David Gregg, James Power and John Waldron]Book Chapter, 2002
  • M. Anton Ertl and David Gregg, The structure and performance of efficient interpreters, Journal of Instruction-Level Parallelism, 5, 2003Journal Article, 2003, URL
  • David Gregg, James Power and John Waldron, Platform independent dynamic Java Virtual Machine analysis: the Java Grande forum benchmark suite, Concurrency and Computation Practice and Experience, 15, (3-5), 2003, p459 - 484Journal Article, 2003, DOI
  • M. Anton Ertl, David Gregg, Andreas Krall and Bernd Paysan, Vmgen - a generator of efficient virtual machine interpreters, Software Practice and Experience, 32, (3), 2002, p265 - 294Journal Article, 2002, DOI
  • M. Anton Ertl and David Gregg, Generating an interpreter with Vmgen, Proceedings of the 10th International Conference on Compiler Construction (CC 2002), Grenoble, April, LNCS 2304, 2002, pp5 - 8Conference Paper, 2002, DOI
  • M. Anton Ertl and David Gregg, Retargeting JIT compilers using C-compiler generated executable code, Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT 04), Antibes Juan les Pins, Septmber, 2004, pp7 - 14Conference Paper, 2004, DOI
  • Emre Ozer, Andy Nisbet and David Gregg, Automatic customization of embedded applications for enhanced performance and reduced power using optimizing compiler techniques, Proceedings of the 10th European Conference on Parallel Computing (Europar 04), Pisa, August, LNCS 3149, 2004, pp318 - 327Conference Paper, 2004, DOI
  • M. Anton Ertl and David Gregg, Combining stack-caching with dynamic superinstructions, Proceedings of the ACM SIGPLAN 2004 Workshop on Interpreters, Virtual Machines and Emulators (IVME 04), Washington DC, June, 2004, pp7 - 14Conference Paper, 2004, DOI
  • Emre Ozer, Andy Nisbet and David Gregg, Stochastic bit-width approximation using extreme value theory for cutomizable processors, Proceedings of the 12th International Conference on Compiler Construction (CC 04), Barcelona, April, LNCS 2985, 2004, pp250 - 264Conference Paper, 2004, DOI
  • Kevin Casey, David Gregg M. Anton Ertl and Andrew Nisbet, Towards superinstructions for Java interpeters, LNCS 2826, Proceedings of the 7th International Workshoop on Software and Compilers for Embedded Systems (SCOPES 03), Vienna, September, 2003, pp329 - 343Conference Paper, 2003, DOI
  • M. Anton Ertl and David Gregg, Optimizing Indirect Branch Prediction Accuracy in Virtual Machine Interpreters, Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI 03), San Diego, California, June, 2003, pp278 - 288Conference Paper, 2003, DOI
  • Brian Davis, Andrew Beatty, Kevin Casey, David Gregg and John Waldron, The case for virtual register machines, Proceedings of the ACM SIGPLAN 2003 Workshop on Interpreters, Virtual Machines and Emulators (IVME 03), San Diego, California, June, 2003, pp41 - 49Conference Paper, 2003, DOI
  • Andrew Beatty, Kevin Casey, David Gregg and Andrew Nisbet, An optimized Java interpreter for connected devices and embedded systems, Proceedings of the 18th ACM Symposium on Applied Computing (SAC 03), Melbourne, Florida, March, 2003, pp692 - 697Conference Paper, 2003, DOI
  • David Gregg and John Waldron, Primitive sequences in general purpose Forth programs, Proceedings of the 18th EuroForth European Conference on Forth, Vienna, Austria, September, 2002, pp24 - 32Conference Paper, 2002
  • David Gregg, M. Anton Ertl and John Waldron, The common case in Forth programs, Proceedings of the 17th EuroForth European Conference on Forth, Schloss Dagstuhl, Germany, November, 2001Conference Paper, 2001
  • M. Anton Ertl and David Gregg, The behaviour of efficient virtual machine interpreters on modern architectures, LNCS 2150, Proceedings of the 7th European Conference on Parallel Computing (Europar 2001), Manchester, August, 2001, pp403 - 412Conference Paper, 2001, DOI
  • David Gregg, M. Anton Ertl and Andreas Krall, Implementation of an Efficient Java Interpreter, Proceedings of the 9th High Performance Computing and Networking Conference, Amsterdam, June, LNCS 2110, 2001, pp613 - 620Conference Paper, 2001, DOI
  • John Waldron and David Gregg, Identification and Quantification of Hotspots in Grande Java Programs, Proceedings of the 9th High Performance Computing and Networking Conference, Amsterdam, June, LNCS 2110, 2001, pp701 - 710Conference Paper, 2001, DOI
  • David Gregg, Comparing Tail Duplication with Compensation Code in single path global instruction scheduling, Proceedings of the 9th International Conference on Compiler Construction (CC 2001), Genoa, April, LNCS 2027, 2001, pp200 - 212Conference Paper, 2001, DOI
  • David Gregg, M. Anton Ertl and Andreas Krall, A fast Java interpreter, Java Optimization Strategies for Embedded Systems Workshop (JOSES), Genoa, April, 2001, pp113 - 121Conference Paper, 2001
  • David Gregg, Global software pipelining with Iteration Preselection, Proceedings of the 8th International Conference on Compiler Construction (CC 2000), Berlin, March, 2000, pp189 - 201Conference Paper, 2000, DOI
  • Andrew Anderson, Avinash Malik, David Gregg, Automatic Vectorization of Interleaved Data Revisited, ACM Transactions on Architecture and Code Optimization, 12, (4), 2015, p50-Journal Article, 2015, DOI , TARA - Full Text
  • Roman Atachiants, Gavin Doherty and David Gregg, Parallel performance problems on shared-memory multicore systems: a taxonomy and observation, IEEE Transactions on Software Engineering, 42, (8), 2016, p764 - 785Journal Article, 2016, DOI
  • Mircea Horea Ionica and David Gregg, An evaluation of the suitability of the Movidius Myriad architecture for scientific computing, IEEE Micro, 35, (1), 2015, p6 - 14Journal Article, 2015, DOI
  • Aravind Vasudevan, Avinash Malik, David Gregg, An improved simulated annealing heuristic for static partitioning of task graphs onto heterogeneous architectures, 2014 20th IEEE International Conference on Parallel and Distributed Systems (ICPADS), Hsinchu Taiwan, 2014, pp95 - 102Conference Paper, 2014, DOI , URL , TARA - Full Text
  • Mark Purcell, Aravind Vasudevan, David Gregg, Real-time sensor signal capture from a harsh environment, 2012 IEEE/ACM 16th International Symposium on Distributed Simulation and Real Time Applications, 2012/10/25, 2012, pp36-43Conference Paper, 2012, DOI , URL , TARA - Full Text
  • Servesh Muralidharan, Aravind Vasudevan, Avinash Malik and David Gregg, Heterogeneous Multiconstraint Application Partitioner (HMAP), 2013 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom), Melbourne, VIC, Australia, 16-18 July 2013, 2013, pp999 - 1007Conference Paper, 2013, DOI , URL , TARA - Full Text
  • Aravind Vasudevan, Quentin Bragard, Anthony Ventresque, Liam Murphy and David Gregg, AN EVALUATION OF SPACE AND GRAPH-PARTITIONING METHODS FOR DISTRIBUTED ROAD NETWORK SIMULATIONS, 2014 Winter Simulation Conference, 2014, pp4107 - 4108Conference Paper, 2014, URL , TARA - Full Text
  • Marinov, M., Nash, N., Gregg, D. , Practical Algorithms for Finding Extremal Sets, Journal of Experimental Algorithmics, 21, (2), 2016, p1.9-Journal Article, 2016, DOI
  • Anderson, A., Gregg, D., Vectorization of Multibyte Floating Point Data Formats, Parallel Architectures and Compilation Techniques - Conference Proceedings, Parallel Architectures and Compilation Techniques, 11-15 Sept, 2016, pp363-372Conference Paper, 2016, DOI
  • David Gregg, James Power and John Waldron, A method-level comparison of the Java Grande and SPEC JVM98 benchmark suites, Concurrency and Computation: Practice and Experience, 17, (7-8), 2005, p757 - 773Journal Article, 2005, DOI
  • Xu S, Gregg D, An Efficient Vectorization Approach to Nested Thread-level Parallelism for CUDA GPUs, Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT, 2016, 2016-March, 2016, pp488 - 489Conference Paper, 2016, DOI , URL
  • Xu S, Gregg D, Exploiting Hyper-Loop Parallelism in Vectorization to Improve Memory Performance on CUDA GPGPU, Proceedings - 14th IEEE International Conference on Trust, Security and Privacy in Computing and Communications, TrustCom 2015, 2015, 3, 2015, pp53 - 60Conference Paper, 2015, DOI , URL
  • Xu S, Gregg D, Efficient exploitation of hyper loop parallelism in vectorization, 8967, 2015, 382 - 396Miscellaneous, 2015, DOI , URL
  • Malik A, Gregg D, Heuristics on reachability trees for bicriteria scheduling of stream graphs on heterogeneous multiprocessor architectures, ACM Transactions on Embedded Computing Systems, 14, (2), 2015, p23-Journal Article, 2015, DOI , URL
  • Anderson, A. and Muralidharan, S. and Gregg, D., Efficient Multibyte Floating Point Data Formats Using Vectorization, IEEE Transactions on Computers, 66, (12), 2017, p2081-2096Journal Article, 2017, DOI , URL
  • Xu, S. and Gregg, D., Bitslice Vectors: A Software Approach to Customizable Data Precision on Processors with SIMD Extensions, (8025318), 2017, pp442-451Conference Paper, 2017, DOI , URL
  • Vasudevan, A. and Anderson, A. and Gregg, D., Parallel Multi Channel convolution using General Matrix Multiplication, IEEE 28th International Conference on Application-specific Systems, Architectures and Processors (ASAP), (7995254), 2017, pp19-24Conference Paper, 2017, DOI , URL
  • Garland, J. and Gregg, D., Low complexity multiply-accumulate units for convolutional neural networks with weight-sharing, ACM Transactions on Architecture and Code Optimization, 15, (3), 2018Journal Article, 2018, DOI , URL
  • Anderson, A. and Gregg, D., Optimal DNN primitive selection with partitioned boolean quadratic programming, Proceedings of the 2018 International Symposium on Code Generation and Optimization , February, 2018, pp340-351Conference Paper, 2018, DOI , URL
  • Hardware and software performance in deep learning in, editor(s)Bashir M. Al-Hashimi Geoff V. Merrett , Many-Core Computing: Hardware and Software, London, United Kingdom, The Institution of Engineering and Technology, 2019, pp141 - 164, [Andrew Anderson, James Garland, Yuan Wen, Barbara Barabasz, Kaveena Persand, Aravind Vasudevan, David Gregg]Book Chapter, 2019, URL
  • James Garland, David Gregg, Low Complexity Multiply Accumulate Unit for Weight-Sharing Convolutional Neural Networks, IEEE Computer Architecture Letters, 16, (2), 2017, p132 - 135Journal Article, 2017, URL
  • James Garland, David Gregg, Low Complexity Multiply-Accumulate Units for Convolutional Neural Networks with Weight-Sharing, ACM Transactions on Architecture and Code Optimization, 15, (3), 2018, p31:1 - 31:24Journal Article, 2018, URL , TARA - Full Text
  • James Garland, David Gregg, Low Complexity Multiply-Accumulate Units for Convolutional Neural Networks with Weight-Sharing, ACM Transactions on Architecture and Code Optimization, High-performance Embedded Architecture and Compilation, Valencia, Spain, 21-23 January 2019, edited by Keon De Bosschere , 15, (3), ACM, 2019, pp31:1 - 31:24Conference Paper, 2019, URL
  • Owen Callanan, Andy Nisbet, Emre Özer, James Sexton, David Gregg, FPGA Implementation of a Lattice Quantum Chromodynamics Algorithm Using Logarithmic Arithmetic, 12th Reconfigurable Architectures Workshop (RAW 2005), Denver, CA, 4-8 April, IEEE Computer Society, 2005Conference Paper, 2005, DOI , URL
  • Kevin Casey, David Gregg, M. Anton Ertl, Tiger - An Interpreter Generation Tool, LNCS, Compiler Construction, 14th International Conference (CC 2005), Edinburgh, UK, edited by Rastislav Bodík , 3443, (April 4-8), Springer, 2005, pp246 - 249Conference Paper, 2005, DOI , URL
  • Barabasz, Barbara and Anderson, Andrew and Soodhalter, Kirk M. and Gregg, David, Error Analysis and Improving the Accuracy of Winograd Convolution for Deep Neural Networks, ACM Trans. Math. Softw., 46, (4), 2020, p33Journal Article, 2020, DOI , URL
  • Andrew Anderson, Michael Doyle, David Gregg, Scalar Arithmetic Multiple Data: Customizable Precision for Deep Neural Networks, 26th IEEE Symposium on Computer Arithmetic (ARITH 2019), Kyoto, Japan, June 10-12, 2019, edited by Naofumi Takagi, Sylvie Boldo, Martin Langhammer , 2019, pp61 - 68Conference Paper, 2019
  • Khalid Javeed, Ali El-Moursy, David Gregg, E2CSM: Efficient FPGA implementation of elliptic curve scalar multiplication over generic prime field GF(p), Journal of Supercomputing, 80, (1), 2024, p50 - 74Journal Article, 2024
  • Khalid Javeed, Ali El-Moursy, David Gregg, EC-Crypto: Highly Efficient Area-Delay Optimized Elliptic Curve Cryptography Processor, IEEE Access, 11, 2023, p56649 - 56662Journal Article, 2023
  • Building SSA in a Compiler for PHP in, editor(s)Fabrice Rastello, Florent Bouchez-Tichadou , SSA-based Compiler Design, Springer, 2022, pp347 - 357, [Paul Biggar, David Gregg]Book Chapter, 2022, URL
  • Yunhe Shi, Emre Ozer and David Gregg, Analyzing effects of trace cache configurations on the prediction of indirect branches, Journal of Instruction Level Parallelism, 8, (February), 2006, p24Journal Article, 2006, URL
  • David Gregg, Andrew Beatty, Kevin Casey, Brian Davis and Andrew Nisbet, The case for virtual register machines, Science of Computer Programming, 57, (3), 2005, p319 - 338Journal Article, 2005
  • Emre Özer, Resit Sendag and David Gregg, Multiple-Valued Caches for Power-Efficient Embedded Systems., 35th IEEE International Symposium on Multiple-Valued Logic, Calgary, Canada, 18-21 May 2005, 2005, pp126-131Conference Paper, 2005, DOI
  • Yunhe Shi, David Gregg, Andrew Beatty and M. Anton Ertl, Virtual machine showdown: stack versus registers, ACM/USENIX Conference on Virtual Execution Environments, Chicago, Illinois, June 2005, 2005, pp153-163Conference Paper, 2005, DOI
  • Emre Özer, Andy Nisbet and David Gregg, Fine-Tuning Loop-Level Parallelism for Increasing Performance of DSP Applications on FPGAs, 12th IEEE Symposium on Field-Programmable Custom Computing Machines, Napa, CA, 20-23 April 2004, 2004, pp273-274Poster, 2004
  • Anton Ertl, Kevin Casey and David Gregg, Fast and Flexible Instruction Selection with On-Demand Tree-Parsing Automata, ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation, Ottawa, Canada, June 2006, ACM, 2006, pp52 - 60Conference Paper, 2006, DOI , URL
  • Emre Özer, Andy Nisbet, David Gregg, A stochastic bit-width estimation technique for compact and low-power custom processors, ACM Transactions on Embedded Computing Systems, 7, (3), 2008, p34:1-30Journal Article, 2008, DOI
  • David Gregg and M. Anton Ertl., Optimising code-copying JIT compilers for virtual stack machines, Concurrency and Computation Practice and Experience, 18, (11), 2006, p1465 - 1484Journal Article, 2006, DOI
  • Emre Özer, Resit Sendag and David Gregg, Multiple-valued logic buses for reducing bus energy in low-power systems, IEE Proceedings on Computers and Digital Techniques, 153, (4), 2006, p270 - 282Journal Article, 2006, DOI
  • Emre Özer, Andy Nisbet, David Gregg and Owen Callanan, Estimating bus size for custom processors in embedded systems, Design Automation for Embedded Systems, 10, (1), 2005, p5 - 26Journal Article, 2005, DOI
  • Yunhe Shi, Emre Özer and David Gregg, Low-cost microarchitectural techniques for enhancing the prediction of return addresses on high-performance trace cache processors, Proceedings of the 21st International Symposium on Computer and Information Sciences (ISCIS 06), Istanbul, Turkey, November, 2006, pp248 - 257Conference Paper, 2006, DOI
  • Milan Tichy, Jan Schier and David Gregg, FPGA Implementation of Adaptive Filters based on GSFAP using Log Arithmetic, Proceedings of the 2006 IEEE Workshop on Signal Processing Systems Design and Implementation (SiPS 06), IEEE Workshop on Signal Processing Systems Design and Implementation (SiPS 06), Banff, Canada, October 26th, 2006, pp342 - 347Conference Paper, 2006, DOI , URL
  • Owen Callanan, David Gregg, Andy Nisbet and Mike Peardon, High performance scientific computing using FPGAs with IEEE floating point and logarithmic arithmetic for Lattice QCD, Proceedings of the 16th International Conference on Field Programmable Logic and Applications (FPL 06), Madrid, Spain, 2006, pp29 - 34Conference Paper, 2006, DOI , URL , TARA - Full Text
  • Milan Tichy, Jan Schier and David Gregg, Efficient floating-point implementations of high-order (N)LMS adaptive filters in FPGAs, Lecture Notes in Computer Science, Proceedings of the International Workshop on Applied Reconfigurable Computing (ARC 2006), Delft, The Netherlands, March, Springer, 2006, pp311 - 316Conference Paper, 2006, DOI , URL
  • Emre Özer, Resit Sendag and David Gregg, Multiple-valued logic buses for reducing bus size, transitions and power in deep submicron technologies, Proceedings of the Advanced Networking and Communications Hardware Workshop (ANCHOR 2005), Madison, Wisconsin, June, 2005, pp36 - 44Conference Paper, 2005
  • Emre Özer, Resit Sendag and David Gregg, Multiple-valued caches for power-efficient embedded systems, Proceedings of the 35th IEEE International Symposium on Multiple-Valued Logic (ISMVL 2005), Calgary, Canada, May, 2005, pp120 - 125Conference Paper, 2005, DOI
  • Owen Callanan, Andy Nisbet, Emre Özer, James Sexton, David Gregg, FPGA implementation of Lattice QCD algorithm using log arithmetic, 12th Reconfigurable Architectures Workshop, (electronic proceedings), IEEE CS, Denver, CO, April, 2005Conference Paper, 2005
  • M. Anton Ertl and David Gregg, Retargeting JIT compilers by using C-compiler generated executable code, Proceedings of the International Conference on Parallel Architecture and Compilation Techniques (PACT 2004), IEEE CS, Antibes Juan les Pins, September, 2004, pp41 - 50Conference Paper, 2004, DOI
  • Emre Özer, Andy Nisbet and David Gregg, Automatic customization of embedded applications for enhanced performance and reduced power using optimizing compiler techniques, Proceedings of the 10th European Conference on Parallel Computing (Europar 2004), Pisa, August, 2004, pp318 - 327Conference Paper, 2004, DOI
  • David Gregg, M. Anton Ertl and John Waldron, The common case in Forth programs, Proceedings of the 17th EuroForth European Conference on Forth, Schloss Dagstuhl, Germany, November, 2001, pp63 - 70Conference Paper, 2001
  • Yunhe Shi, Kevin Casey, M. Anton Ertl and David Gregg, Virtual machine showdown: stack versus registers, ACM Transactions on Architecture and Code Optimization, 4, (4), 2008, p2:1-36Journal Article, 2008, DOI , URL
  • Richard Bannister, David Gregg, Simon Wilson and Andy Nisbet, Implementation of an image segmentation algorithm using logarithmic arithmetic, to appear on post-conference, Proceedings of the IEEE International Midwest Symposium on Circuits and Systems (MWSCAS 2005), Ohio, August, 2005Conference Paper, 2005, DOI
  • Kevin Casey, M. Anton Ertl and David Gregg, Optimizing indirect branch prediction accuracy in virtual machine interpreters, ACM Transactions on Programming Languages and Systems, 29, (6), 2007, p1-36Journal Article, 2007, DOI , URL
  • A language and tool for generating efficient virtual machine interpreters in, editor(s)C. Lengauer, C. Consel, D. Batory and M. Odersky , Domain-Specific Program Generation, LNCS 3016, 2004, pp196 - 215, [David Gregg and M. Anton Ertl]Book Chapter, 2004
  • Paul Biggar, Nicholas Nash, Kevin Williams and David Gregg, An experimental study of sorting and branch prediction, ACM Journal of Experimental Algorithmics, 12, 2008, p1.8:1-36Journal Article, 2008, DOI , URL
  • Nicholas Nash and David Gregg, Comparing integer data structures for 32 and 64 Bit Keys, 7th International Workshop on Experimental Algorithms (WEA 08), Provincetown, Cape Cod, MA, USA, 30 May - 2 June 2008, 2008, pp28 - 42Conference Paper, 2008, DOI
  • Kevin Williams, Albert Noll, Andreas Gal and David Gregg, Optimization strategies for a Java Virtual Machine interpreter on the Cell Broadband Engine, ACM International Conference on Computing Frontiers, Ischia, Italy, May 5-7, ACM Press, 2008, pp189 - 198Conference Paper, 2008, DOI
  • David Gregg, Vikram S. Adve and Brian N. Bershad(ed.), Proceedings of the 4th International Conference on Virtual Execution Environments, VEE 2008, Seattle, WA, March 5-7, ACM Press, 2008, 182 pProceedings of a Conference, 2008
  • Paul Biggar, Edsko deVries and David Gregg, A practical solution for scripting language reimplementations and compilers, ACM Symposium on Applied Computing (SAC 09), Honolulu, Hawaii, March, ACM Press, 2009, pp1916 - 1923Conference Paper, 2009, DOI
  • Nicholas Nash, Sylvain Lelait and David Gregg, Efficiently implementing maximum independent set algorithms on circle graphs, ACM Journal of Experimental Algorithmics, 13, 2008, p8/1-8/34Journal Article, 2008, DOI
  • Mark Purcell, Owen Callanan and David Gregg, Streamlining offload computing to high performance architectures, 2009 Workshop on Using Emerging Parallel Architectures for Computational Science, International Conference on Computational Science, Baton Rouge, May, LNCS 5544, 2009, pp974 - 983Conference Paper, 2009, DOI
  • Bannister, R. Gregg, D. Wilson, S. Nisbet, A. , FPGA implementation of an Image Segmentation algorithm using logarithmic arithmetic, Proceedings of the Midwest Symposium on Circuits and Systems, Midwest Symposium on Circuits and Systems, Covington, KY , 7-10 Aug, 2005, 2005, pp810-813Conference Paper, 2005, DOI , TARA - Full Text
  • Nicholas Nash and David Gregg, Comparing integer data structures for 32- and 64-bit keys, ACM Journal of Experimental Algorithmics, 15, 2010, p2.1 - 2.43Journal Article, 2010, DOI
  • Nicholas Nash, David Gregg, An output sensitive algorithm for computing a maximum independent set of a circle graph, Information Processing Letters, 110, (16), 2010, p630-634Journal Article, 2010, DOI , URL , TARA - Full Text
  • Paul Biggar, Edsko de Vries, David Gregg, A practical solution for achieving language compatibility in scripting language compilers, Science of Computer Programming, 77, (9), 2012, p971 - 989Journal Article, 2012, DOI , URL , TARA - Full Text
  • Raymond Manley, Paul Magrath and David Gregg, Code generation for hardware accelerated AES, 21st IEEE International Conference on Application-specific Systems Architectures and Processors, Rennes, France, 7-9 July 2010, IEEE, 2010, pp345-348Conference Paper, 2010, DOI , URL , TARA - Full Text
  • Kevin Williams, Jason McCandless and David Gregg, Dynamic interpretation for dynamic scripting languages, The 8th International Symposium on Code Generation and Optimization (CGO 2010), Toronto, Ontario, Canada, April 24-28, 2010, edited by Andreas Moshovos, J. Gregory Steffan, Kim M. Hazelwood, David R. Kaeli , ACM, 2010, pp278-287Conference Paper, 2010, DOI
  • Raymond Manley and David Gregg, A Program Generator for Intel AES-NI Instructions, Lecture Notes in Computer Science, 11th International Conference on Cryptology in India (INDOCRYPT 2010), Hyderabad, India, December 12-15, 2010, edited by Guang Gong, Kishan Chand Gupta , 6498, Springer, 2010, pp311-327Conference Paper, 2010, DOI
  • Milan Tichý, Jan Schier and David Gregg, GSFAP adaptive filtering using log arithmetic for resource-constrained embedded systems, ACM Transactions in Embedded Computing Systems, 9, 2010, p3.1 - 3.31Journal Article, 2010, DOI
  • Mounira Bachir, David Gregg, Sid Ahmed Ali Touati, Using the Meeting Graph Framework to Minimise Kernel Loop Unrolling for Scheduled Loops, Languages and Compilers for Parallel Computing, Lecture Notes in Computer Science, 22nd InternationalWorkshop, LCPC 2009, Newark, DE, USA,, October 8-10, 2009, edited by Guang R. Gao, Lori L. Pollock, John Cavazos and Xiaoming Li , Springer, 2009, pp278-292Conference Paper, 2009, DOI
  • Kevin Williams, Jason McCandless and David Gregg, Portable Just-in-Time Specialization of Dynamically Typed Scripting Languages, LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 22nd InternationalWorkshop, LCPC 2009, Newark, DE, USA, October 8-10, 2009, edited by Guang R. Gao, Lori L. Pollock, John Cavazos, Xiaoming Li , 5898, Springer, 2010, pp391-398Conference Paper, 2010, DOI
  • Raymond Manley and David Gregg, Mapping Streaming Languages to General Purpose Processors through Vectorization, Languages and Compilers for Parallel Computing, Lecture Notes in Computer Science, 22nd International Workshop, LCPC 2009, Newark, DE, USA, October 8-10, 2009, edited by Guang R. Gao, Lori L. Pollock, John Cavazos and Xiaoming Li , 5898, Springer, 2010, pp95-110Conference Paper, 2010, DOI
  • J. McCandless and D. Gregg, Optimizing interpreters by tuning opcode orderings on virtual machines for modern architectures, Conference on the Principles and Practice of Programming in Java, PPPJ '11, Kongens Lyngby, Denmark, August 24-26, 2011, ACM, 2011, pp161 - 170Conference Paper, 2011, DOI , TARA - Full Text
  • Jason McCandless and David Gregg, Compiler techniques to improve dynamic branch prediction for indirect jump and call instructions, ACM Transactions on Architecture and Code Optimization, 8, (4), 2012, p24.1 - 24.20Journal Article, 2012, DOI
  • Stephen Dolan, Servesh Muralidharan and David Gregg, Compiler Support for Lightweight Context Switching, ACM Transactions on Architecture and Code Optimization, 9, (4), 2013, p36.1 - 36.25Journal Article, 2013, DOI
  • Jimmy Cleary, Owen Callanan, Mark Purcell, David Gregg, Fast Asymmetric Thread Synchronization, ACM Transactions on Architecture and Code Optimization, 9, (4), 2013, p27.1 - 27.22Journal Article, 2013, DOI
  • Avinash Malik and David Gregg, Orchestratin stream graphs using model checking, ACM Transactions on Architecture and Code Optimization, 2013Journal Article, 2013, DOI
  • Mark Purcell, Aravind Vasudevan and David Gregg, Real-time sensor signal capture from a harsh environment, 16th IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications (DS-RT 2012), Dublin, October, IEEE Computer Society, 2012, pp36 - 43Conference Paper, 2012, DOI
  • Mounira Bachir, Sid Ahmed Ali Touati, Frederic Brault, David Gregg and Albert Cohen, Minimal unroll factor for code generation of software pipelining, International Journal of Parallel Programming, 41, (1), 2013, p1 - 58Journal Article, 2013, DOI
  • R. Atachiants, D. Gregg, K. Jarvis and G. Doherty, Design Considerations for Parallel Performance Tools, ACM Conference on Human Factors in Computing systems (CHI 2014), Toronto, Canada, ACM Press, 2014, pp2501-2510Conference Paper, 2014, DOI
  • David Gregg, Comparing Code Duplication and Compensation Code, Code Optimisation: Trends, Challenges and Perspectives Dagstuhl-Seminar-Report 286, September, 2000Invited Talk
  • David Gregg, Global Software Pipelining with Iteration Preselection, INRIA-Rocquencourt research centre near Paris, October, 1999Invited Talk
  • David Gregg, Software Pipelining with Iteration Preselection, Instruction-Level Parallelism and Parallelizing Compilation Dagstuhl-Seminar-Report 237, April, 1999Invited Talk
  • Syed Asad Alam, David Gregg, Giulio Gambardella, Thomas B. Preusser, Michaela Blott, On the RTL Implementation of FINN Matrix Vector Unit, ACM Transactions on Embedded Computing Systems, 22, (6), 2023, p94:1 - 94:27Journal Article
  • Khalid Javeed, Kamran Saeed, David Gregg, High-speed parallel reconfigurable Fp multipliers for elliptic curve cryptography applications, International Journal of Circuit Theory and Applications, 50, (4), 2022, p1160 - 1173Journal Article
  • Syed Asad Alam, Andrew Anderson, Barbara Barabasz, David Gregg, Winograd Convolution for Deep Neural Networks: Efficient Point Selection, ACM Transactions on Embedded Computing Systems, 21, (6), 2022, p80:1 - 80:28Journal Article
  • Muslim Chochlov, Gul Aftab Ahmed, James Vincent Patten, Guoxian Lu, Wei Hou, David Gregg, Jim Buckley, Using a Nearest-Neighbour, BERT-Based Approach for Scalable Clone Detection, IEEE International Conference on Software Maintenance and Evolution, Limassol, Cyprus, October, 2022, 2022, pp582 - 591Conference Paper, DOI , URL
  • Kaveena Persand, Andrew Anderson, David Gregg, Taxonomy of Saliency Metrics for Channel Pruning, IEEE Access, 9, 2021, p120110 - 120126Journal Article, DOI , URL
  • Syed Asad Alam, James Garland, David Gregg, Low-precision Logarithmic Number Systems: Beyond Base-2, ACM Transactions on Architecture and Code Optimization, 18, (4), 2021, p47:1 - 47:25Journal Article, DOI , URL
  • Kaveena Persand, Andrew Anderson, David Gregg, Domino Saliency Metrics: Improving Existing Channel Saliency Metrics with Structural Information, 20th International Conference of the Italian Association for Artificial Intelligence (AIxIA 2021), Italy, December 1-3 2021, 13196, Springer, 2021, pp447 - 461Conference Paper, DOI , URL

Research Expertise

Software optimization Multicore computing Compiler optimization Domain Specific Languages Automatic program generation Algorithm design Low power computing

Computer science - software engineering, Computer science - Remote sensing, Computer science - Theory & Methods, Algorithms, Information & Communication Technology, Computer science - high performance computing, hardware and architecture,

Recognition

  • ACM Recognition of Service Award June 4th 2008
  • Fellow of the Irish Computer Society
  • Member of ACM
  • PPPJ 2006 Programme Committee 2006
  • VEE 2008 General chair 2008
  • VEE 2005 & 2006 Steering Committee 2005-2006
  • EI Proof of Concept Funding Panel Spring 2003-Summer 2004
  • CC 2008 Programme Committee 2008
  • IVME 2004 Programme Committee 2004
  • SCOPES 2003 Programme Committee 2003
  • SCOPES 2004 Programme Committee 2004
  • Euroforth 2002 Programme Committee 2002
  • Euroforth 2003 Programme Committee 2003
  • IVME 2003 General Chair 2003