About Memocode Design Contest

Memocode Design Contest is a yearly contest that is organized byMEMOCODE conference committee. Memocode is an ACM/IEEE International Conference on  Formal Methods and Models for Codesign. In 2007, a co-design contest was conceived to help the design aspects of the MEMOCODE conference and serve to showcase advances in co-design methodologies. Therefore, the contest started since 2007 and held successfully each year, up to now.

 IPM-HPC Participation

Since 2010, HPC laboratory started to work on the Memocode design contest problems. The aim of this participation is to contribute to a world-class problem and show our abilities in solving these problems. The HPC laboratory was the winner of some of these contests. Following you will see a list of previous years problems and our results.

Memocode Problems and HPC Results

Winner in Memocode 2015-Design Contest

Rank in Best Cost-Normalized Performance and Highest Performance class: 2- IPM-HPC, 1- Tokyo University

IPM-HPC Team members: Armin Ahmadzadeh, Ehsan Montahaie, Milad Ghafouri, Reza Mirzaei, Saied Rahmani, Farzad Sharif Bakhtiar, Mohsen Gavahi, Rashid Zamanshoar, Hanie Ghasemi, Kianoush Jafari, Saeid Gorgin

Institute for Research in Fundamental Sciences (IPM), Iran

Contest Problem: As in previous years, MEMOCODE’15 will include a design contest, which will pose a computational challenge that participants may solve using hardware or software on FPGAs, GPUs, and CPUs. The conference will sponsor at least one prize with a monetary award for the contest winners. the 2015 challenge is continuous skyline computation that given dataset is not constant and it changes over time. the aim of this contest is to implement a system to efficiently compute the continuous skyline of a large dynamic dataset.


IPM-HPC Solution:  Our method makes exhaustive use of CPU and minimizes memory access. we present an efficient parallel continuous Skyline approach. In our suggested method, the dataset points are sorted and pruned based on Manhattan distance. Moreover, we use several optimization methods to optimize memory usage in comparison with naïve implementation. In addition, besides the applied conventional parallelization methods, we partition the time steps based on the number of available cores. The experimental results for a data set that contains 800k points with 7 dimensions show considerable speedup.for more information see the paper.

Winner in Memocode 2014-Design Contest

Switzerland, EPFL in Lausanne
Rank in Best Cost-Normalized Performance class: 1 – IPM-HPC-MultiCore (winner), 2 and 3- IPM-HPC-ManyCore (GPU), 4- Iowa State University (USA)
Rank in Highest Performance class: 2- IPMH-HPC, 1- Iowa State University (USA) (winner)
Our team defended its previous years rank in performance/cost class.

IPM-HPC Team members:  Armin Ahmadzadeh, Reza Mirzaei, Hatef Madani, Mohammad Shobeiri, Mahsa Sadeghi, Mohsen Gavahi, Kianoush Jafari, Mohsen Mahmoudi Aznaveh, and Saeid Gorgin.

Contest Problem: The 2014 problem for The MEMOCODE hardware contest problem is k-Nearest Neighbor search using the Mahalanobis distance metric. Given a data set of points in multidimensional space, the goal is to find the k points that are nearest to any given point in that space.

IPM-HPC Solution: Regarding the MEMOCODE chair email, there were 10 excellent solutions submitted, utilizing a range of algorithmic as well as system-level optimizations, targeting FPGA, GPU as well as multi-core platforms. Our method makes exhaustive use of CPU and minimizes memory access. This method is the winner of Best Cost-Normalized Performance of MEMOCODE contest design 2014 and is 616X faster than other implementation of the contest. See this paper for more detail.


Winner in Memocode 2014-Software Contest

Switzerland, EPFL in Lausanne
Rank in Software contest: 2 – IPM-HPC, 1-U.S. Army Research, Development and Engineering (USA) – Winner

IPM-HPC Team members: Nariman Eskandari, Hatef Madani, Armin Ahmadzadeh, Saied Gorgin, Mohsen Mahmoudi Aznaveh.

Contest Problem: The 2014 problem for The MEMOCODE software contest problem is to make the emulator run even faster on the Raspberry PI by proposing software solutions. These contest used the specific emulator for Space Invaders game written for 8080 processor.

IPM-HPC Solution: Regarding the MEMOCODE software contest report, there were three contestants were successful in completing this software design contest. These contestants employed a variety of techniques to both discover and optimize performance bottlenecks in the emulator. Our method is focused on optimizing function calls that were frequently invoked, and re-organizing data-structures to better match the underlying Raspberry Pi’s hardware architecture. This approach is 2.5 times faster over the conventional implementation of the contest. See this paper for more detail.

Memocode 2013

 USA - Portland, Oregon 
All-Around Winner (in Performance/Cost class and  in Performance class)
Our team not only defended its previous years rank in performance/cost class, but also we won the performance class.

IPM-HPC Team members:  Armin Ahmadzadeh, Hatef Madani, Kianoush Jafari,  Shervin Daneshpajouh, Saeid Gorgin.

Contest Problem: The 2013 problem for the MEMOCODE Design Contest was part of the stereo matching problem: Given a stereo image pair, the challenge was to infer the depth information for each pixel in the image.

IPM-HPC Solution: Regarding the email that we have received from the design Contest chair, there were 8 excellent solutions submitted to the contest this year, utilizing a range of algorithmic as well as system-level optimizations, targeting FPGA, GPU as well as multi-core platforms. The top performing solutions, including ours, were provided the judging image to help the judges in making the final decision. See the paper for more detail.

  Memocode 2012

USA -Virginia – Virginia Tech.
Rank in Performance/Cost class: 1 – IPM-HPC (winner), 2-IOWA State University
Rank in Performance class: 2- IPM-HPC, 1-IOWA State University(winner)
IPM-HPC Team members: Aryan Arbabi, Milad Gholami, Mojtaba Varmazyar, Shervin Daneshpajouh.

Contest Problem: The 2012 problem for the MEMOCODE Design Contest was part of the DNA sequence alignment problem: exact substring matching. The challenge was to efficiently locate millions of 100-base-pair short read sequences in a 3-million-base-pair reference genome.

IPM-HPC Solution: For 2012 contest, we provided two solutions: The first one is based on BWT data structure and the second one is based on Hash-indexing. Both of these methods use CPU-multicore and PThread technology. The Hash indexing method was one of the two winners of the contest. The method is able to align 1.2 GB of short read sequences in only 4 seconds. See the paper for more detail.

Memocode 2011

UK- Cambridge – Microsoft Research
Rank in Performance/Cost class: 1 – IPM-HPC (winner), 2- Carnegie Mellon University
Rank in Performance class: 2- IPMH-HPC, 1- Carnegie Mellon University(winner)
IPM-HPC Team members: Mahdy Zolghadr, Koosha Mirhosseini, Saeid Gorgin, Abbas Nayebi.

Contest Problem: The objective of 2011 MEMOCODE Hardware/Software CoDesign Contest was to deliver the fastest simulator of a simple Network-on-Chip (NoC). Simulators are important tools to perform architectural tradeoffs without the cost of implementing each possibility. Thus, simulator flexibility, along with simulation speed are two key traits to a good simulator.

IPM-HPC Solution: For 2011 contest, we provided a GPU-base network simulator using CUDA framework. For this  purpose, we used an NVIDIA GeForce GTX 480 and could achieve a factor of 18 faster over the reference code-platform of the contest. See the paper for more detail.

 Memocode 2010

France- Grenobel,  Europole
Rank in Performance/Cost class: 6 – IPM-HPC
Rank in Performance class: 6- IPMH-HPC
IPM-HPC Team members: Mohammad Hassan Khabbazian, Hassan Eslami, Ehsan Totoni, AmadReza Khadem.

Contest Problem: The objective of 2010 MEMOCODE Hardware Software Codesign Contest was to inspect a stream of ethernet packets to see if they match against given regular expressions (deep packet inspection). Commonly, deep-packet inspection has two different main uses: stream categorization (such as L7-filter,, and intrusion detection (such as snort, The goal of this contest was to construct a packet inspector which performs both of these tasks. Thus, the contest was named CANSCID: Combined Architecture for Stream Categorization and Intrusion Detection.

IPM-HPC Solution: For 2010 contest, we presented a design and implementation of a high-throughput deep packet inspection performing both stream categorization and intrusion detection on GPU platform using CUDA. This implementation is capable of matching 64 ethernet packet streams against 25 given regular expressions at 524 Mb/s rate on a computer system with GeForce GTX 295 graphic card. See the paper for more detail.


Powered by PHP