Energy-Efficient Random Number Generation Using Stochastic Magnetic Tunnel Junctions

Authors: nicolas  alder
nitin  shivam
  kajale
milin  tunsiricharoengul
ralf  herbrich
deblina  sarkar
Venue: NeurIPS_cc_2024_Workshop_MLNCP
Published: 2024-08-28 08:50:07

Abstract: (Pseudo)random sampling is a costly yet widely used method in machine learning. We introduce an energy-efficient algorithm for uniform Float16 sampling, utilizing a room-temperature stochastic magnetic tunnel junction device to generate truly random floating-point numbers. By avoiding expensive symbolic computation and mapping physical phenomena directly to the statistical properties of the floating-point format and uniform distribution, our approach achieves a higher level of energy efficiency than the state-of-the-art Mersenne-Twister algorithm by a minimum factor of 9721 and an improvement factor of 5649 compared to the more energy-efficient PCG algorithm. We provide measurements of the potential accumulated approximation errors, demonstrating the effectiveness of our method.

Main paper: 
 introduction: 
 The widespread implementation of artificial intelligence (AI) incurs significant energy use, financial costs, and CO 2 emissions. This not only increases the cost of products, but also presents obstacles in addressing climate change. At the heart of machine learning are sampling and random number generation. Examples include weight initialization, dropout regularization, or Markov chain Monte Carlo techniques.Addressing these challenges, this paper proposes a novel hardware framework designed to enhance the energy efficiency of random number generation and sampling. We propose a novel uniform floating-point format sampling method utilizing stochastically switching magnetic tunnel junction (s-MTJ) devices as a foundation, achieving significant gains in both computational resources and energy consumption compared to current pseudorandom number generators. In contrast to existing generators, this device-focused strategy not only enhances sampling efficiency but also incorporates genuine randomness originating from the thermal noise in our devices. Simultaneously, this noise is crucial for the probabilistic functioning of the s-MTJs and is associated with low energy costs during operation.Our contributions can be summarized as follows.1. We present a novel, highly energy-efficient stochastically switching magnetic tunnel junction device which is designed to improve both the energy efficiency and precision of our sampling approach. The device is capable of generating samples from a Bernoulli distribution whose parameter p can be controlled using a current bias.2. We present a closed-form solution that defines the parameters for a collection of Bernoulli distributions applied to the bit positions of the floating-point format, leading to samples that adhere to a distribution without the need for symbolic calculations. Our simulations indicate that this hardware configuration surpasses existing random number generators in terms of energy efficiency by a factor of 5649 when using Float16. Additionally, our method achieves genuine randomness through the use of thermal noise in our hardware devices. In general, this approach is suitable for any entropy source device or even (pseudo)random number generator that can produce bits in a reliable (and efficient) Bernoulli fashion.The structure of this paper begins by reviewing relevant work on random number generation in Section 2. Section 3 provides an introduction to the floating-point format, which is the format utilized to generate samples. In the Approach Section 4, we introduce the stochastically switching magnetotunneling junction device being utilized in our approach. Following this, we outline a configuration for these devices to generate uniform floating-point samples, addressing the statistical challenge of mapping Bernoulli distributions to specific bitstring positions within the floating-point format. Section 5 illustrates the energy consumption of our approach and assesses potential approximation errors arising from the devices. The paper concludes with Section 6, where we summarize our findings and outline further research directions. 
related work: 
 A majority of artificial intelligence algorithms rely on random number generators. Random number generators (RNG) are employed for weight initialization or dropout in deep learning or taking random actions in reinforcement learning. In probabilistic machine learning, Markov-Chain-Monte-Carlo (MCMC) algorithms utilize them for sampling from proposal distributions or for making decisions on whether to accept or reject samples based on random draws.Hence, the research community focused on the development of efficient random number generators [10] and their infrastructure [20, 15] shares similarities to this work. Physical (true) random number generators (TRNG) using physical devices is an active research field since the 1950s [11] . Currently used random number generators are often feasability-motivated free-running oscillators with randomness from electronic noise [19] . A very recent subfield are Quantum Based Random Number generators (QRNG) [12, 8, 19, 5] . The concept of employing stochastic magnetic tunnel junctions for random number generation has been investigated in recent years. Although these methods generally outperform traditional algorithmic random number generators in terms of energy efficiency, they lack the ability to directly produce results using the floating-point format [23, 3, 16, 17] , which is critical for machine learning applications. Converting results to floating-point format later [4] introduces unnecessary overhead, reducing energy efficiency. In general, the unequal spacing characteristic of the floating-point format complicates the transition from integers, making it non-trivial to maintain all possible floating-point number candidates within a specific distribution. It should be noted that our conceptual approach can in principle be applied with any RNG that generates parametrizable Bernoulli distributions, given that they are sufficiently (energy-)efficient.Antunes and Hill [1] accurately measured the energy usage of random number generators (Mersenne-Twister, PCG, and Philox) in programming languages and frameworks such as Python, C, Numpy, Tensorflow, and PyTorch, thus providing a quantification of energy consumption in tools relevant to AI. The energy measurements of this benchmark serve as baseline against our approach. 
preliminaries: 
 We use the floating-point format as the number representation of interest as this is also the format that machine learning algorithms use. We define a generic floating-point number as follows:EQUATIONwhere e is the exponent adjusted by a bias b, d 1 .d 2 . . . d t represent the mantissa, d i ∈ {0, 1}, and d 1 = 1 indicates an implicit leading bit for normalized numbers.While our approach is generally applicable to any floating-point format, we demonstrate the approach for the Float16 format in this paper. The use of the Float16 format compared to formats with more precision bits is advantageous in a real-world setting as it demands less rigor in setting the current bias for the s-MTJ devices, which is especially relevant for higher-order exponent bits.In the following, we describe a Float16 number by its 16-bit organizationEQUATIONwhere b 15 is the sign bit, b 14 to b 10 are the exponent bits with a bias of 15, and b 9 to b 0 are the mantissa bits. The implicit bit remains unexpressed. This arrangement represents the actual storage format of the bits in memory. By expressing the floating-point format in terms of its bit structure, we can directly map an s-MTJ device's output bit to its equivalent position in the Float16 format. 
probabilistic spintronic devices: 
 Spintronic devices are a class of computing (logic and memory) devices that harness the spin of electrons (in addition to their charge) for computation [7] . This contrasts with traditional electronic devices which only use electron charges for computation. Spintronic devices are built using magnetic materials, as the magnetization (magnetic moment per unit volume) of a magnet is a macroscopic manifestation of its correlated electron spins. The prototypical spintronic device, called the magnetic tunnel junction (MTJ), is a three-layer device which can act both as a memory unit and a switch [14] . It consists of two ferromagnetic layers separated by a thin, insulating non-magnetic layer. When the magnetization of the two ferromagnetic layers is aligned parallel to each other, the MTJ exhibits a low resistance (R P ). Conversely, when the two magnetizations are aligned anti-parallel, the MTJ exhibits a high resistance (R AP ). By virtue of the two discrete resistance states, an MTJ can act as a memory bit as well as a switch. In practice, the MTJs are constructed such that one of the ferromagnetic layers stays fixed, while the other layer's magnetization can be easily toggled (free layer, FL). Thus, by toggling the FL, using a magnetic field or electric currents, the MTJ can be switched between its '0' and '1' state.An MTJ can serve as a natural source of randomness upon aggressive scaling, i.e. when the FL of the MTJ is shrunk to such a small volume that it toggles randomly just due to thermal energy in the vicinity. It is worth noting that the s-MTJ can produce a Bernoulli distribution like probability density function (PDF), with p = 0.5, without any external stimulus, by virtue of only the ambient temperature. However, applying a bias current across the s-MTJ can allow tuning of the PDF through the spin transfer torque mechanism. As shown in Figure 5c -f of Appendix A, applying a positive bias current across the device makes the high resistance state more favorable, while applying a negative current has the opposite effect. In fact, by applying an appropriate bias current across the s-MTJ, using a simple current-mode digital to analog converter as shown in Figure 6a of Appendix A, we can achieve precise control over the Bernoulli parameter (p) exhibited by the s-MTJ. The p-value of the s-MTJ responds to the bias current through a sigmoidal dependence. A more detailed version of this section on the physical principles, device structure and simulations of the s-MTJ device can be found in Appendix A.This section describes the configuration of s-MTJ devices representing Bernoulli distributions for generating uniform random numbers in floating-point formats, particularly Float16. To apply this method to other floating-point formats, modify the number of total bits in Equation ( 3), ( 5) and ( 6) as well as the number of exponent bits in (8) and their positions in the format in variable e of (6).The configuration C for a set of s-MTJ devices is defined as follows:EQUATIONwhere each p i is the parameter of a Bernoulli distribution representing the probability of the corresponding Float16 format bit being '1' in the output.The goal is to configure C so that, with infinite resampling, the sequence B n of Float16 values converges to a uniform distribution D over the full format. Formally, we seek C such that:EQUATIONTable 1 : Required 1-bit occurrences in a 3-bit exponent representation1-Bit Count e 3 0 0 0 0 2 4 2 5 2 6 2 7 e 2 0 0 2 2 2 3 0 0 2 6 2 7 e 1 0 2 1 0 2 3 0 2 5 0 2 7In order to meet this condition, we need to assign each bit position b i of the Float16 format a probability p i , representing the frequency of each bit's occurrence in a uniform Float16 distribution (Equations ( 5)-( 8)). The mantissa bits are assigned a value of 0.5, as detailed in line ( 6), ensuring uniformity across the range they cover. This method extends to the sign bit, whose equal likelihood of toggling maintains the format's symmetry.In floating-point formats, increasing the exponent doubles the range covered by the mantissa due to the base 2 system. Higher exponent ranges need more frequent sampling to maintain uniform coverage, as simply doubling sample occurrence from one range to the next does not preserve uniformity. Table 1 shows the number of 1-bits for each exponent in a 3-bit example. In general, one can see a specific overall pattern. Specifically, e 1 has four groups of size 1, e 2 has two groups of size 2, and e 3 has one group of size 1. More generally, the first count of any exponent group is always2 2 i-1. For the first exponent, groups are size 1 (excludable by 1 {i>1} ). For other exponents, remaining 1-Bit counts in the first group are c-1 k=1 2 2 i-1 +k , where c = 2 i-1 is the group size, depending on the position i in the floating-point format. The count of groups based on bit position i and total bits e is z = 2 -i+e . The count sums for remaining groups are given byz-1 k=1 c-1 g=1 2 2 i-1 +2 i •k+g, where z is the number of groups and c their size. The highest exponent bit e 3 with one group is excluded using 1 {z>1} . To find the probability of 1-Bit occurrences for each exponent e i , divide by the total bits 2 (2 e ) -1, which depends on the exponent bits e.Combining everything, we derive the equation for the configuration C as follows:EQUATIONEQUATIONEQUATIONEQUATIONAfter obtaining a sample s, min-max normalization can be applied to linearly transform it into a sample s ′ that adheres to any specified uniform distribution within the Float16 range:EQUATIONThe transformation must be performed in a format exceeding Float16, like Float32 or a specialized circuit, to maintain numerical stability and precision, due to exceeding Float16 limits in the denominator of Equation ( 9). We assume special cases like NaNs or Infinities are discarded. 
energy consumption of the s-mtj approach: 
 Our work is motivated to use s-MTJ based random number generators for AI algorithms. We do not focus on advancing s-MTJ devices in the material sense. AI algorithms require an energy-saving random number generator that directly outputs uniformly in the floating-point format. We assess the energy consumption of our method against current (pseudo)random number generators employed in AI algorithms, incorporating a linear transformation (Equation ( 9) in section 4.2) to fit any specified uniform number range. Although our technique inherently does not need this transformation, we include it in the energy-efficiency analysis to ensure a highly adaptable, fair, and conservative benchmark. This benchmark serves as comparison of our s-MTJ based sampling approach against traditional pseudorandom sampling approaches, not other s-MTJ devices in the material sense. The novelty and advantage of our approach against other s-MTJ based random number generators is the procedure of directly producing floating-point numbers without conversion from integer bitstreams. Any s-MTJ device implementation can be used with our approach. Although additional control bits could allow for more precise settings, we restrict this number to 4 due to physical limitations in setting current biases in hardware with higher resolution while keeping the bias circuit simple (and hence energy-efficient). Our approach focuses on achieving high accuracy around a probability of 1 (cf. configuration in Section 5.2) by taking advantage of the characteristics of the sigmoid function, thus making 4 bits sufficient for achieving the required probability density function.For our specific case, where the s-MTJs are being configured to generate a uniform distribution of Float16 samples, the p for each s-MTJ is predetermined and fixed. All the mantissa bits and the sign bits require p = 0.5, which is exhibited by the s-MTJ without any current bias (cf. 4.1 and 4.2). Thus, these eleven s-MTJs do not require a current biasing circuit. The predetermined p-values for the five exponent bits correspond to specific current biases as shown in Figure 2 , which amount to a total power consumption of 20.86 W, as determined through SPICE simulations (details in Appendix C). For a sampling rate of 1 MHz, this corresponds to 20.86 pJ biasing energy per Float16 sample. Additionally, reading the state of all the sixteen s-MTJs, assuming a nominal resistance of 1 kΩ and 10 ns readout with 10 µA probe current, amounts to a readout energy dissipation of 16 fJ per Float16 sample.Given a hardware accelerator-style architecture, our system is designed with an embarrassingly parallel structure, capable of producing samples every 1 µs. Energy-wise, there is no difference between parallel and sequential setups. Using min-max normalization, sampled intervals can be transformed efficiently into other intervals. It is reasonable that each of the five floating point operations mentioned in Equation 9 within a normalization circuit consumes about 150 fJ on modern microprocessors [6] , leading to an extra energy cost of 750 fJ per sample.Consequently, generating 2 30 samples without linear transformation yields an energy consumption ofEQUATION)Applying the transformation yields particular bit sizes, or specific stochastic properties. As such, comparing different implementations and floating-point formats is somewhat limited. However, given that all implementations serve the same machine learning algorithms and that our energy consumption estimates show vast differences, this comparison is deemed both reasonable and significant.(Although our method introduces considerable energy costs due to transformations, the overall energy usage, when including linear transformations, is reduced by factor 5649 (pcg32integer) compared to the most efficient pseudorandom number generator currently available. Compared to the doublegenerating Mersenne-Twister (mt19937arO2), we obtain an improvement by factor 9721. We provide a full comparison against all benchmarked generators in Figure 7 of Appendix D.The number of control bits in an s-MTJ device impacts both energy consumption and the precision of setting the energy bias, which in turn affects the available probabilities of obtaining bit samples. Figure 2 illustrates this relationship. This section evaluates the approximation error caused by imprecision in achieving a desired Bernoulli distribution.Four control bits allow 16 distinct, uniformly spaced current biases for an s-MTJ device. The stability of reading a '1' or '0' from the device follows a sigmoid function, enhancing resolution near 0 and 1, but reducing it around 0.5. This effect is beneficial as it yields the configurations c 10 , c 11 , • • • , c 14 = {(10, 0.66666), (11, 0.80000), (12, 0.94118), (13, 0.99611), (14, 0.99998)} for our hardware setup shown in Figure 1 , as derived from Equations 5-8. Higher exponent bits demand greater precision than lower ones, highlighting the advantages of the Float16 format over larger formats due to the physical constraints in setting the energy bias.To precisely analyze distribution shifts, we compared the first three moments (mean, variance, kurtosis) of the uniform Float16 distribution in Figures 3a, 3b , and 3c. We conducted 100 000 samples per measurement, repeating each measurement 100 times, and report the results as mean and standard deviations. We evaluated the empirical moments of these distributions against theoretical expectations using closed-form solutions. Control Bits Sampling v1 uses the closest distance, assigning equal probabilities of 0.9933 to c 13 and c 14 . Control Bits Sampling v2 assigns probabilities of 0.9911 to c 13 and 0.9933 to c 14 , testing whether having a difference is more effective than the closest distance method (see Figure 2 ). The mean values over all three moments are consistent for all bit resolutions. Furthermore, the deviation in the second moment is relatively minor given its high absolute value in the closed-form expression.Figure 9 -12 of Appendix E visualizes samples using perfect resolution sampling and sampling that considers physical control bit boundaries. The distributions with approximation offsets show a slight bias, favoring values near zero (this is experimentally attributable to the offsets in exponent 4 and 5). However, this primarily accounts for only two bins in the overall range, each representing 0.25% of values. While the overall distribution remains unaffected, the effect can be removed by rejecting samples from the two bins in question, impacting approximately every 200th sample. These observations highlight that physical inaccuracies have minor effects. If necessary, these can be easily addressed through rejection from those bins, depending on the application's requirements. Although we assume that most applications will not be significantly affected, performance evaluations are required to verify this assumption (for any minor distribution shifts). 
conclusion and future work: 
 We introduced a hardware-driven highly energy-efficient method for sampling uniform floating-point numbers, using stochastically switching magnetic tunnel junctions. This method includes a precise initialization for these devices and beats current state-of-the-art Mersenne-Twister by a factor of 5649.We assessed the approximation error associated with the s-MTJ devices and our method. Findings show that the physical approximation error is negligible when sampling uniform random numbers. Future studies will explore the energy impact on specific algorithms in machine learning and validate the s-MTJ method by building a prototype including statistical randomness testing of the device [13, 11] . 
 
 Appendix: Spintronic devices are a class of computing (logic and memory) devices that harness the spin of electrons (in addition to their charge) for computation. This contrasts with traditional electronic devices which only use electron charges for computation. Spintronic devices are built using magnetic materials, as the magnetization (magnetic moment per unit volume) of a magnet is a macroscopic manifestation of its correlated electron spins. The prototypical spintronic device, called the magnetic tunnel junction (MTJ), is a three-layer device which can act both as a memory unit and a switch [7, 14] . It consists of two ferromagnetic layers separated by a thin, insulating non-magnetic layer.When the magnetization of the two ferromagnetic layers is aligned parallel to each other, the MTJ exhibits a low resistance (R P ). Conversely, when the two magnetizations are aligned anti-parallel, the MTJ exhibits a high resistance (R AP ). By virtue of the two discrete resistance states, an MTJ can act as a memory bit as well as a switch. In practice, the MTJs are constructed such that one of the ferromagnetic layers stays fixed, while the other layer's magnetization can be easily toggled (free layer, FL). Thus, by toggling the FL, using a magnetic field or electric currents, the MTJ can be switched between its '0' and '1' state.An MTJ can serve as a natural source of randomness upon aggressive scaling, i.e. when the FL of the MTJ is shrunk to such a small volume that it toggles randomly just due to thermal energy in the vicinity. As schematically illustrated in Figure 4a , the self-energy of the magnetic layer is minimum and equal for the magnetization pointing vertically up or down, i.e. polar angle θ M = 0 o or 180 o , respectively. The self-energy is maximum for the horizontal orientation (θ M = 90 o ). The corresponding energy barrier, ∆E dictates the time scale at which the magnet can toggle between the up and down oriented states owing to thermal energy. This time scale follows an Arrhenius law dependence [2] , i.e.EQUATIONwhere, τ 0 is the inverse of attempt frequency, typically of the order of 1 ns, k is the Boltzmann constant and T is the ambient temperature. The energy barrier for a magnet is∆E = K U V = µ 0 H K M S V /2,where K U , V , H K and M S are the magnet's uniaxial anisotropy energy, volume, effective magnetic anisotropy field and saturation magnetization, respectively. µ 0 is the magnetic permeability of free space. Thus, it can be observed that by reducing the volume V of the magnetic free layer, we can make its ∆E comparable to kT and achieve natural toggling frequencies of computational relevance, as shown in Figure 4b . Figure 5a shows a time-domain plot of the normalized state of such an s-MTJ, calculated using micromagnetic simulations with the MuMax3 package [21] . Further details on the micromagnetic simulations are included in Appendix B. A histogram of the resistance state of this s-MTJ is presented in Figure 5b . It is worth noting that the s-MTJ can produce such a Bernoulli distribution like probability density function (PDF), with p = 0.5, without any external stimulus, by virtue of only the ambient temperature. However, applying a bias current across the s-MTJ can allow tuning of the PDF through the spin transfer torque mechanism [18] . As shown in Figure 5c -f, applying a positive bias current across the device makes the high resistance state more favorable, while applying a negative current has the opposite effect. In fact, by applying an appropriate bias current across the s-MTJ, using a simple current-mode digital to analog converter as shown in Figure 6a , we can achieve precise control over the Bernoulli parameter (p) exhibited by the s-MTJ. Details on the current-biasing circuit are included in Appendix C. The p-value of the s-MTJ responds to the bias current through a sigmoidal dependence, as shown in Figure 6b . Dynamics of a ferromagnet's magnetization in response to external stimuli, like magnetic fields, currents or heat can be modelled using micromagnetic simulations. The magnetization dynamics can be described using a differential equation, known as the Landau-Lifshitz-Gilbert-Slonczewski (LLGS) equation:EQUATIONwhere, ⃗ m is the normalized magnetization ( ⃗ M /| ⃗ M |), and are the gyromagnetic ratio and damping constant for the ferromagnet, x is a unit vector along the direction of applied electric current and, τ ∥ and τ ⊥ are current-induced torque magnitudes acting parallel and perpendicular to the current. ⃗ H eff is the effective magnetic field acting on the ferromagnet, which contains contributions from externally applied magnetic fields, exchange interactions, magneto-crystalline anisotropy, shape anisotropy, thermal fields, and demagnetization, among others.The simulations results presented here are performed for a van der Waals (vdW) magnetic material, Fe 3 GaTe 2 (FGaT) [22, 9] . Being a vdW material, FGaT has a layered structure which makes it an ideal candidate for building ultra-thin (monolayer) magnetic thin films of high quality needed for achieving stochasticity. FGaT also exhibits perpendicular magnetic anisotropy, which means its self-energy is lower for magnetization pointing out of plane as compared to the magnetization pointing in-plane. This property is crucial for building compact, nanoscale spintronic devices. The simulations are performed using the MuMax3 program [21] , for devices shaped as circular discs. The values of different physical parameters used in the micromagnetic simulations are compiled in Table 2 . Certain parameters, whose experimental values are not determined, are set to typical values for similar materials and are indicated as such. All simulations can be replicated using standard consumer-grade computers without requiring extensive resources. The current biasing circuit was simulated using Cadence Virtuoso using the Global Foundries 22FDX (22 nm FDSOI) process design kit. The circuit has been designed for a maximum bias current of 20 µA to attain an s-MTJ with Bernoulli parameter p = 0.99. The current levels corresponding to p = 0.67 and p = 0.99 are divided into 4-bit resolution (Figure 2 ). The four bias bits (B0-B3) are fed to the transistors P0, P1, P2, P3 (LSB to MSB), which are sized to produce currents I 0 , 2I 0 , 4I 0 and 8I 0 , respectively, when the corresponding bias bit it '1'. A constant current I base = 2.82 µA is additionally supplied through P4 to create a baseline of p = 0.67 for the s-MTJs. The transistors are operated at a low supply voltage of 0.35 V to achieve a small I 0 = 1.14 µA. Thus, each exponent bit can be set to its requisite Bernoulli parameter by appropriately setting the 4-bit bias word, and the power dissipation in the biasing circuit can be estimated for each of the exponent bits. Lengths of all the transistors are set to 20 nm. Width of P4 is set to 260 nm, while the widths of P0, P1, P2 and P3 are 100 nm, 200 nm, 400 nm, and 800 nm, respectively. As discussed in the main text, our proposed method requires only positive current biases for the stochastic MTJs. Thus, the unipolar current mode DAC proposed here suffices for our application. For more general use cases where both positive and negative bias currents may be needed, a bipolar current-steering DAC can be utilized. 38th Second Workshop on Machine Learning with New Compute Paradigms at NeurIPS 2024(MLNCP 2024). 



Reviews: review: title: title: Energy-Efficient Random Number Generation with MTJ
main_review: main_review: The authors present a floating point RNG based on an MTJ.

The paper is well written with a few minor errors - for example a bad table reference on page 3.

I'm aware of several papers already proposing the use of current driven MTJ as RNGs. From a distance it is not exactly clear what the novelty of the paper is and should have been more clearly stated. Is it the way in which MTJ has been mapped to floating point format, the device, the circuit ?

Also energy efficiency is a major motivation of this work. But MTJs need to be driven with a large current (tens of uA here) and require current DACs for each random bit. Is it really better than a CPU or a dedicated ASIC for RNG ? Of course they are not T-RNGs, but it is not clear if a T-RNG is really vital in AI applications. A comparison between a more standard solution and your circuit would have been useful.

Due to (IMO) a lack of novelty I would say the paper is a boderline reject. If the paper had presented a fabricated circuit (or exp implementation) and not simulations it would better merit being accepted.
title: title: Promising work concerned with energy efficiency of random number generation
main_review: main_review: The paper addresses the problem of generating energy-efficient random numbers, with a focus on the applications in machine learning. This is an important area of research, as there is increasing concern about the sustainability and power consumption of machine learning algorithms.

The paper is very well written and clearly conveys the central message. 

Strong points: 

1. The paper develops a s-MTJ based floating point number generation scheme.
2. The authors provide extensive quantitative analysis of the energy and power consumption of their approach.

Weak points:

1. The authors approach generates uniform random numbers however in many machine learning applications Gaussian random numbers are used for weight initializations and other purposes. The paper could benefit from a paragraph that comments on how easy/difficult extend the present approach to Gaussian random numbers.

2. It would have been better to see these uniform numbers in a real-life application and see how the limitations of the proposed approach affect the performance of the algorithm.

Minor weak point (typo):
There is a missing Table reference on line 127.