ISCA'19 Unary Computing Workshop
Workshop Overview:
Despite the commercial success of machine learning, researchers should be exploring radically new and different computing paradigms if we ever hope to achieve brainlike capabilities with brainlike efficiencies. If the brain is a unary computer (and strong arguments can be put forward that it is), then it behooves the computer architecture research community to be studying and developing models for unary computation. Because unary computation has much broader application than neocortical operation, there is much to be gained by exploring unary computation as a general proposition. Until now, however, unary computing has been studied in a variety of contexts by different research groups. Hence, the primary objective of this workshop is to bring together computing researchers investigating unconventional computational paradigms based on unary computation.
Unary computing uses simple number representations to achieve highly efficient implementations for certain classes of applications. For those applications that are amenable to unary computation, improvements in performance and/or energy efficiency are often by multiple factors, if not orders of magnitude, when compared with conventional binary implementations. The workshop presentations provide an excellent overview of the properties and capabilities of unary processing.
Unary processing methods typically use pulses or spikes as the basic encoding mechanism. There are three basic unary encoding and processing methods, all of which are represented in this workshop.

Stochastic methods encode values as a count of pulses (or spikes) in a given time interval, and the pulses are stochastically generated.

Temporal methods encode values via timing relationships among pulses.

Deterministic methods, like stochastic methods encode values as a count of pulses, however, the individual pulses are deterministically produced rather than stochastic.
Applications, roughly speaking, are numerical (based on the common arithmetic operations of addition and multiplication) or nonnumerical (based on comparisons, for example). The nonnumerical applications sometimes allow the addition of constants, however.
Of recent interest are nonnumerical applications based on temporal coding, these include an important class of spiking neural networks and other machinelearning methods that can exploit temporal relationships rather than arithmetic operations (besides addition of constants). They also have been applied to graph problems, image processing, and sorting problems. In this workshop, fuzzy logic operations (Paper 5) can be added to the growing list.
Numerical applications have a much longer history. In the current application environment, nearsensor processing typically demands extremely low power consumption and low hardware cost. Furthermore, sensor data is often in unary form to begin with. This makes nearsensor processing an excellent application area for unary processing. Paper 1 uses deterministic unary processing as the basis for a small convolution engine. The design is shown to be superior to conventional designs in both area and power consumption  by large factors.
At a high level, the development of numerical applications is naturally based on conventional methods. However, at a lower level, unary processing has its own special features and constraints. Paper 2 proposes a domain specific language for developing systems based on either stochastic or deterministic bit streams. It provides a researcher or designer with a high level tool for architecting and constructing bit stream systems. As such, it is an important step in making unarybased computation accessible to engineers. Paper 3 focuses on a stochastic solution to a fundamental planning and navigation problem. It both illustrates the general nature of stochastic computing and demonstrates the area and power advantages of unary processing.
Despite its advantages, it is widely acknowledged that resolution (precision) imposes a practical limitation on unary processing: there is a dramatic loss of efficiency as the resolution of values increases. Consequently, an important research direction is extending the applicability of unary processing to higher resolutions while maintaining most of the advantages. Paper 4 hybridizes deterministic unary processing with residue arithmetic to yield practical, highly efficient multiplier implementations for resolutions significantly higher than can be achieved with unary methods alone. Paper 6 hybridizes temporal representations and positional representations. Paper 7 mitigates inefficiency encoding values by adjusting the number of encoding bits according to the resolution that is required.
Temporal processing applications have generally been developed in an ad hoc manner  targeted at a specific application. Consequently, the development of more general design techniques is an important research direction. The recently proposed spacetime algebra provides a mathematical underpinning for temporal processing. Paper 8 describes a systematic way of checking arbitrary functions for the spacetime properties. Paper 9 provides a way tabular method for specifying general spacetime functions and then minimizing their implementation via a QuineMcCluskeylike algorithm. Paper 10 proposes an alternative representation for spacetime functions to provide the designer with an intuitive framework within which to reason about spacetime functions.
James E. Smith John Paul Shen
Workshop Program:
9:00am  9:30am
Opening Remarks  "Your Brain is a Unary Computer"
Jim Smith, John Shen (Carnegie Mellon University)
9:30am  10:30am
Keynote: "Unary Computing: The Stochastic Circuit Approach"
John P. Hayes (University of Michigan)
10:30am  11:00am
1. EnergyEfficient Pulsebased Convolution Engine for NearSensor Processing (invited)
M. Hassan Najafi (University of Louisiana at Lafayette), S. Rasoul Faraji (University of Minnesota), Kia Bazargan (University of Minnesota) and David Lilja (University of Minnesota).
11:00am  11:30am
Break
11:30am  12:00 noon
2. BitSAD: A DomainSpecific Language for Bitstream Processing (invited)
Kyle Daruwalla, Heng Zhuo and Mikko Lipasti, (University of WisconsinMadison).
12 noon  12:30pm
3. Resource Efficient Navigation Using Bitstream Computing
Kyle Daruwalla and Mikko Lipasti, (University of WisconsinMadison).
12:30pm  2:00pm
Lunch
2:00pm  2:30pm
4. Accelerating Unary BitStream Processing Using Residue Numbers
Kamyar Givaki (University of Tehran), Reza Hojabr (University of Tehran), M.Hassan Najafi (University of Louisiana at Lafayette), Ahmad Khonsari (University of Tehran), Saeid Gorgin (Iranian Research Organization for Science and Technology) and Dara Rahmati (Institute for Research in Fundamental Sciences).
2:30pm  3:00pm
5. Fuzzylogic Processing using Unary BitStreams (invited)
Amir Hossein Jalilvand (Iran University of Science and Technology), M. Hassan Najafi (University of Louisiana at Lafayette) and Mahdi Fazeli (Iran University of Science and Technology).
3:00pm  3:30pm
6. TemporalRate Encoding to Realize Unary Positional Representation in Spiking Neural Systems
Zhenduo Zhai and Ismail Akturk, (University of Missouri, Columbia).
3:30pm  4:00pm
7. ContextAware Bitstream Generator for Deterministic Unary Processing
Sina Asadi and M. Hassan Najafi, (University of Louisiana at Lafayette).
4:00pm  4:30pm
8. From Arbitrary Functions to SpaceTime Implementations (invited)
Georgios Tzimpragos (UC Santa Barbara), Nestan Tsiskaridze (UC Santa Barbara), Kylie Huch (UC Santa Barbara), Advait Madhavan (NIST; Univ. of Maryland), and Timothy Sherwood (UC Santa Barbara).
4:30pm  5:00pm
9. Delay Table Representation and Function Minimization in SpaceTime Algebra (invited)
Ido Guy and Shlomo Weiss (Tel Aviv University).
5:00pm  5:30pm
10. A TruthMatrix view into Unary Computing
Advait Madhavan (NIST), Gerogios Tzimpragos (UC Santa Barbara), Mark Stiles(NIST) and Timothy Sherwood (UC Santa Barbara).
5:30pm  5:40pm
Closing Remarks