Adrien Jean

Rudy Bazile

Bernard Ferret

EVAPORATION OF BI-COMPONENT DROPLETS IN A HIGHLY TURBULENT CHANNEL FLOW

Keywords: Spray and atomization, Two-phase flow, Turbulent transport, Evaporation, Bi-component droplets, Laser-Induced Fluorescence

To better understand the phenomena that occur in a jet engine combustion chamber where multi-component fuel droplets are injected, the influence of the fuel composition upon the liquid droplets' behavior in a turbulent air flow is investigated experimentally. In particular, the effect of the presence of an alcohol in the fuel is explored. A model experiment has been designed purposely, which enables to create in a canal a heated, highly turbulent air flow with good properties of homogeneous and isotropic turbulence, and yet with high levels of turbulent fluctuations. A spray of poly-dispersed bi-component acetone/ethanol fuel droplets is injected coaxially in the established zone of the air flow. The large range of droplet sizes ensures that they have a wide variety of behaviors with regard to turbulence. An optical access allows the observation of the turbulent two-phase flow and its evolution in the channel. Measurement campaigns are conducted using Planar Laser-Induced Fluorescence to characterize the droplets' evaporation regimes. Instantaneous acetone vapor concentrations are extracted from these measurements and it is found that acetone evaporates faster from bi-component droplets as compared with pure acetone droplets.

INTRODUCTION

In the actual framework of reducing pollutant emissions and improve the performance of aeronautical combustion chambers, phenomena linked to injection, vaporization, and mixing of multi-component fuels are to be understood so as to improve predictions of combustion. Extensive research has been carried out in the field to explore and model the droplet heating and vaporization process, since it is of great importance to dispose of accurate, flexible and low computational cost evaporation models that can be implemented in CFD codes [START_REF] Bodoc | Large eddy simulation of a monocomponent spray evaporating in a heated and turbulent flow[END_REF]).

These models are generally based on the assumption of a single component fuel. However according to [START_REF] Maqua | Bicomponent droplets evaporation: Temperature measurements and modelling[END_REF] this simplification is difficult to trust since the vaporization of multi-component droplets exhibits additional complex features. Models accounting for the multi-component nature of the fuel are usually based on the discrete component approach and remain applicable only when a small number of components are involved, whereas real fuels contain hundreds of chemical species.

To address the lack of experimental data concerning the evaporation of multi-component droplets, a model experiment for the study of the evaporation of a mist of polydispersed droplets in a highly turbulent, homogeneous and isotropic heated flow of air is available at IMFT that enables to reproduce flows encountered in aeronautical combustion chambers, where sprays of polydispersed multi-component fuel droplets are generated. The present paper is focused on bi-component fuel droplets made of acetone and ethanol.

Measurement campaigns are conducted using Planar Laser-Induced Fluorescence (PLIF) to characterize the droplets' evaporation regimes. Instantaneous acetone vapor concentrations are extracted from these measurements. In the present paper, the experimental set-up and the PLIF set-up for the vapor concentration measurements are first presented; then the results concerning the carrier flow, the evaporation of pure acetone droplets and that of binary droplets are exposed and discussed; conclusions are formulated.

EXPERIMENTAL SET-UP

In order to study the evaporation of a droplet mist in turbulent conditions, we use a system of turbulence generator developed by [START_REF] Videto | A turbulent-flow system for studying turbulent combustion processes[END_REF] which allows turbulence levels up to 40% with good isotropic behavior. This system is based on the observation of automotive engines internal aerodynamics and consists in a perforated plate located at the entrance of a contraction which leads into a channel. The orifices in the plate are holes located near the contraction walls. Air flows through these orifices creating vortexes that impact the walls and get mixed while entering the channel. Their high scale energy is then transformed into turbulent kinetic energy which relative level is higher than for grid turbulence. Several authors have used this system. In particular, [START_REF] Bédat | Experimental study of premixed flames in intense isotropic turbulence[END_REF] found relative turbulence intensity of about 30% to 40% for a large range of air mass flow rate and a good isotropy on a large portion of the flow. The experimental configuration was adapted to our needs and is described in previous works: [START_REF] Cochet | Evaporation of polydispersed droplets in a highly turbulent channel flow[END_REF], [START_REF] Moreau | Evaporation of bi-component droplets in a heated, highly turbulent flow[END_REF]. The orifices are forty-five 3 mm diameter holes located on a perimeter near the constriction walls. A circle-square convergent connects the perforated plate and the cylindrical reservoir to a square-shaped channel. Fig. 1 (a) provides a schematic representation of the entire test bench, while Fig. 1 (b) focuses on the turbulence generator. The channel has a H 2 = 92 × 92 mm 2 cross-section and is composed of a blind segment and an optical segment equipped with two narrow quartz windows and two wide Pyrex windows allowing optical measurements along a large portion (≈ 5H long) of the channel. The z axis is the longitudinal axis and the x and y axes are the radial axes; their origin is taken at the injection point. In the following sections, most results will be given versus x/H and z/H. With a mean flow velocity of W 0 = 2 m/s, expected turbulence levels of about 25% 4H after the entrance of the channel and integral length scales of about 20 mm, we can expect a turbulent Reynolds number in the range of 550. The carrier flow is heated thanks to an Osram heating resistance at T air = 373 K. The test bench is insulated so as to prevent heat losses.

y x z

Two cases of liquid composition are considered in this study: one is pure acetone, referred to as the monocomponent case in the following ; the second case is a mix of acetone and ethanol (50% -50% in mass) and is hereinafter referred to as the bi-component case. Properties of acetone and ethanol are summarized Table 1. In order to create the droplet mist, an air-blast atomizer made of two steel needles (500 µm inner diameter) is used, as shown Fig. 1 (c). A high velocity air jet coming from the upper, 90 • -bent needle impinges on and breaks the liquid jet exiting the lower needle at the injection point, creating a spray of fine droplets. According to [START_REF] Lazaro | Particle dispersion in a turbulent, plane, free shear layer[END_REF], this design introduces small disturbances and adds a very small amount of turbulent energy to the base flow. The injection device is mounted right in the middle of the channel's crosssection and 4H = 368 mm from its entrance. The choice of this distance is driven by the characteristics of the carrier flow (see section 4.1), which is established at a distance of ≈ 4H after the entrance of the channel; as a result the initial conditions of the two-phase flow (i.e. at the injection point) are well controlled. Initial properties of the spray were measured in quiescent air and at room temperature using Phase-Doppler Anemometry. Figure 2 shows for the two liquid compositions the droplets (a) size d and (b) axial velocity W distributions in the spray, in a measuring volume located z = 20 mm downstream the injection point.

The distributions superpose very well: there is no significant difference between the two cases for the spray's initial conditions. The largest droplets do not exceed 50 µm in diameter: the evaporation coefficient of acetone droplets in equilibrium with the carrier flow at W 0 = 2 m/s gives an estimation of the distance such droplets can run before complete evaporation (d 2 -law, [START_REF] Spalding | Combustion of fuel particles[END_REF]), namely ≈ 3H. The length of the channel's optical segment (5H) was chosen accordingly to make sure the whole evaporation zone is covered.

Mean arithmetic diameter d 10 is of approximately 15.5 µm, while Sauter mean diameter d 32 is of about 27 µm. Droplets have and average axial velocity of 9.5 m/s. In order to have an idea of the droplets behavior, Stokes number based on integral and Kolmogorov length scales are computed for the droplets mean diameters:

St L = τ p /

PLIF SET-UP FOR VAPOR CONCENTRATION MEASUREMENTS

Planar Laser Induced Fluorescence (PLIF) is used to measure instantaneous acetone vapor concentration fields. Laser Induced Fluorescence is based on the physical phenomenon of fluorescence, first discovered by Jablonski: when certain molecules are excited by a laser beam, they emit a fluorescence signal with a higher wavelength than the excitation light, thus allowing discrimination between excitation and emission lights. Since the number of emitted photons is proportional to the number of excited molecules it is possible to have a direct measurement of the number density N . Indeed, the fluorescence signal (as a function of the path length x in a fluorescent medium) is written:

S f (x) = I(x) • φ f λ (λ, T, P, N ) • N (x) • σ(λ, T ) (2)
In this equation, I is the laser energy, σ = 4.36 × 10 -24 m 2 /molecule is the absorption cross section, λ the incident laser wavelength, φ f λ the fluorescence quantum yield, P the pressure and T the temperature. When λ is fixed and P and T do not vary much, S f (x) depends only on N .

Since liquid is much more dense than vapor by a ratio of about 1000, its fluorescence signal should also be more intense by the same ratio and intensified cameras do not have a strong enough dynamic to safely record both kinds of signal. Either the signal from the droplets will saturate the intensified camera, or the vapor signal will be below noise level. A solution, suggested by [START_REF] Bazile | Measurements of vaporized and liquid fuel concentration fields in a burning spray jet of acetone using planar laser-induced fluorescence[END_REF], consists in using a molecule with a strong absorption coefficient in order to make drops fluorescence limited to a surface contribution while the contribution of the gas phase scales as the mass of vapor. The necessary camera dynamic is thus reduced and vapor phase concentration can be obtained in regions where liquid is diluted enough.

In this experiment, the fluorescent liquid is acetone; ethanol does not fluoresce so as not to disturb the signal. According to [START_REF] Thurber | Pressure and composition dependences of acetone laser-induced fluorescence with excitation at 248, 266, and 308nm[END_REF], acetone has a high saturation pressure and a good fluorescence yield (0.2% at 266 nm). Moreover, its strong absorption coefficient at the laser wavelength and its low dependence of fluorescence properties on pressure and temperature (constant quenching) makes it ideal for studies under various thermal conditions. Figure 3 shows the test bench with the laser and the camera used for PLIF measurements. A Nd:YAG laser produces a beam filtered by a dichroic mirror to reflect only the ultraviolet light. The UV laser beam is then stretched into a thin sheet (λ = 266 nm,∆t = 10 ns, I 0 ≈ 40 mJ, 400 µm thick) by a diverging, cylindrical lens and focused on the symmetry plane of the optical segment through the two narrow quartz windows. An intensified CCD camera (PI-MAX Princeton, 16 bits, 512 × 512 pixels 2 ) with a 58 mmf /1.2 objective lens collects the fluorescence emission of the acetone droplets and vapor through the Pyrex window. The camera is equipped with a pass-band filter BG25 to remove Mie scattering from the droplets.

RESULTS AND DISCUSSION

Carrier flow

Results presented in this section are in good agreement with the work of [START_REF] Cochet | Evaporation of polydispersed droplets in a highly turbulent channel flow[END_REF] where details can be found. The characteristics of the carrier flow are only briefly summarized hereafter, and were obtained with Laser Doppler Velocimetry measurements for a flowing velocity of the carrier flow of W 0 = 2 m/s. Instantaneous velocity components are the longitudinal velocity W and the radial velocity V . The turbulent velocity components w ′ and v ′ are defined as the standard deviations of instantaneous velocity fluctuations w and v:

w

′ = w 2 = (W -W ) 2 and v ′ = v 2 = (V -V ) 2 (3)
There are three phases in the development of the channel flow. The first phase, from z/H = -4 to z/H ≈ -2.5, corresponds to the entrance zone where W presents jet-like radial profiles and W axis = W (x = y = 0) decreases sharply. In the second phase called transition zone, W axis decreases before reaching a minimum and increasing slowly. The mean velocity radial profiles are more wake-like and slowly tend towards homogenization, thus reaching the next zone at z/H ≈ 0. In this third phase, the established zone (z/H > 0), radial profiles of the mean velocity W are very flat on more than 80% of the cross-section which indicates that the flow is highly homogeneous per section. Droplet injection is performed at the beginning of this zone of interest.

Figure 4 (a) shows the axial evolution of turbulent fluctuations of axial w ′ and radial v ′ velocities at the centerline (x = y = 0) of the channel, normalized by W 0 . Turbulence levels decrease continuously through the channel but are very high since they reach around 25% at the beginning of the established zone. Furthermore

-4 -3 -2 -1 0 1 2 3 4 0 0.2 0.4 0.6 0.8 1 z/H w ′ /W 0 , v ′ /W 0 -0.4 -0.2 0 0.2 0.4 0.9 1 1.1 1.2 1.3
x the superposition of w ′ /W 0 and v ′ /W 0 shows a very good isotropy of the flow; the anisotropy coefficient ranges between 0.9 and 1.1.

Figure 4 (b) shows some radial profiles of mean axial velocity W normalized by W 0 at various axial locations in the channel. For small axial locations (entrance zone), W /W 0 is higher int the center of the channel than close to the wall. The profiles are then inverted in the transition zone and tend to homogenize, to become almost flat in the established zone. This behavior is similar to what is observed for grid turbulence.

Besides, Reynolds stresses are very close to zero throughout a large part of the channel length, usually remaining under 5%. Results concerning skewness and flatness factors (respectively close to 0 and 3) tend to show that fluctuating velocities distributions are very close to Gaussian distributions, according to [START_REF] Cochet | Evaporation of polydispersed droplets in a highly turbulent channel flow[END_REF]. All these elements point towards homogeneous and isotropic behavior with high turbulence levels in the established zone.

Evaporation

Results regarding the evaporation of droplets in the turbulent channel flow of heated air are presented in this section. The post processing of images is presented first, then results of the case of pure acetone droplets are exposed to enable the comparison with the bi-component (acetone-ethanol) case in the last sub-section.

Post processing of instantaneous fluorescent fields

Information on mean and fluctuating acetone vapor concentrations can be extracted from instantaneous fluorescence images provided droplets are removed from the computations. This is made by an automated treatment of the row images which consists in detecting the liquid droplets and removing them. The discrimination method used here, previously described in [START_REF] Moreau | Evaporation of bi-component droplets in a heated, highly turbulent flow[END_REF] rely on the detection of high spatial frequencies. The raw image is first denoised, then filtered using a median filter. The filtered image is subtracted from the raw, denoised image. The result is an image containing the high spatial frequencies. After threshold and morphological treatments (erosion and dilatation), a binary image representing the shape of the droplets is obtained. The input image is multiplied by the negative of the binary image. The product is an image with information on the vapor phase only, as shown Fig. 5).

Far from the injection point (z/H = 5), the droplets are completely vaporized. The mean profile of acetone fluorescence is flat and corresponds to the maximum acetone vapor concentration, called C ∞ , which can be computed:

C ∞ = ṁacetone W 0 H 2 (4)
where ṁacetone is the mass-flow of injected acetone. This is how the calibration of the fluorescent signal is performed. It follows that the concentration at a given axial z location is given by:

C(x) = C ∞ • S f (x) S f,∞ (5)
where S f,∞ is the value of the fluorescent signal integrated over the mean profile at z/H = 5.4. In the bi-component case, the fuel mixture being equally composed of acetone and ethanol, C ∞ is half that in the mono-component case, as summarized in Table 3.

Y acetone = 1 Y acetone = 0.5 Concentration far from injection C ∞ = 12.3 [g/m 3 ] C ∞ = 6.15 [g/m 3 ]
However, two corrections must be made. First, according to the Beer-Lambert law, light energy I in Eq. 2 is absorbed by the medium on its path and decreases exponentially:

I(x) = I 0 • e -σ(λ) N (x)dx (6)
where I 0 is the incident laser energy. The number density N is deduced from the mass vapor concentration C: N = C × N A M , where N A = 6.022 × 10 23 mol -1 is the Avogadro constant and M is the molar mass of the fluorescent medium, i.e. acetone. To correct this effect, the inverse operation is applied pixel by pixel to radial fluorescent profiles of acetone vapor, starting from the pixel closest to the laser source.

The second correction is to rectify the inhomogeneity of the light sheet, which is generated by a diverging lens, hence the light sheet itself is diverging and its energy is spread. We correct this by dividing the radial profiles by the one farthest from injection, S f,∞ , supposed to be completely flat. All in all, these combined treatments account for a maximum 20% correction of the profile in the worst case (at axial locations far from injection and for the maximal path length, i.e. at x/H ≈ -0.5, the laser source coming from the positive x).

After these two corrections, the radial profiles of acetone vapor concentration presented hereafter are symmetric. This tends to validate both the corrections and the non-standard calibration described above since the number density term N given by the calibration is then used for the first correction (Eq. 6), which gives coherent results.

Moreover, in the worst case scenario (i.e. at z/H=1), the total droplets section (based on the mean Sauter diameter) crossing the laser source in the measurement volume is around 1% of the laser sheet section (thickness: 500 µm, height: 6.8 mm). Therefore the influence of the droplets on the laser absorption was not taken into account. All in all, uncertainties for the PLIF measurements presented in this study are in the range of 9%.

Mono-component case

Figure 6 shows radial profiles (along x axis, y = 0) of acetone vapor concentration, normalized by C ∞ , and its fluctuations and at various axial locations z in the channel. For small z, the concentration profiles have Gaussian shapes with a maximum concentration at the center of the channel and little vapor concentration close to the walls. The profiles flatten with z increasing, becoming almost flat at the last measured location z/H = 4.9 (f). These results were expected since at z/H = 1, i.e. close to the injection point, it is coherent that the vapor is concentrated at the center of the channel, while the vapor is spread across the channel's section with z increasing with the help of the turbulent carrier flow.

-0.4 0 0.4 0 Figure 7 (a) shows the axial evolution of C ∞ /C axis , where C axis = C(x = y = 0, z) is the axial acetone vapor concentration. From z/H = 1 to z/H = 3.6, a strait line linear regression fits quite well the results, showing the hyperbolic dependence of C axis upon z. A virtual origin z 0 can be computed from this regression, which value is given by the continuation of the line until it intersects the x-axis (at z 0 /H = -1.02), meaning that the virtual origin of the spray is located at a distance ∼ H before its injection point.

1 2 3 C/C ∞ , c ′ /C x/H (a) -0.4 0 0.4 0 1 2 3 C/C ∞ , c ′ /C x/H (b) -0.4 0 0.4 0 1 2 3 C/C ∞ , c ′ /C x/H (c) -0.4 0 0.4 0 1 2 3 C/C ∞ , c ′ /C x/H (d) -0.4 0 0.4 0 1 2 3 C/C ∞ , c ′ /C x/H (e) -0.4 0 0.4 0 1 2 3 C/C ∞ , c ′ /C x/H (f)
Taking into account the virtual origin z 0 and making a variable substitution, one can show that the radial profiles of acetone vapor concentration visible Fig. 6 are self-preserving in the beginning of the spray's development: Figure 7 (b) shows the radial profiles, normalized by their maximum C max (usually very close to C axis ), as a function of x/(zz 0 ) in lieu of x/H. The profile superimpose quite well from z/H = 1 to z/H = 2.6, showing the self-similarity of the spray. For z/H > 2.6, the presence of the walls prevents its self-similarity. A Gaussian profile (solid line) is shown for comparison, fitting the results quite well for a half-width at half-height of b = 0.083z. This behavior is similar to what is observed in the development of free jets (gas as well as liquids) in both quiescent air and co-flow of air and for both velocity and concentration profiles. [START_REF] Fukushima | Investigation of the mixing process in an axisymmetric turbulent jet using piv and lif[END_REF] find for small z), it can be seen that c ′ /C is maximal at the border of the spray, at a radial location which gets closer to the wall as z increases. It is coherent since it is where the turbulent mixing takes place between the spray and the carrier flow. On the other hand, c ′ /C is minimal at the centerline of the channel but the difference is attenuated with increasing z as fluctuation profiles are homogenizing, indicating that acetone vapor is currently mixing with the air flow.

However, the fluctuations levels remain very high, invariably above 33% of C for all measured axial locations, meaning that the mixing is not perfectly realized, in spite of the flow being very turbulent. But as vaporization is still going on, there is still a production term for both vapor concentration and concentration fluctuations. Therefore, there are two phenomena competing since the first (the mixing) decreases fluctuations while the second (vapor production) increases them. The acetone vapor mass-flow ṁvap (z) across the section of the channel (Fig. 8 (b)) at a given axial z location is written as the sum of the mass-flow through a disk of radius H/2 and that through the corners (Fig. 8 (c)):

ṁvap (z) = ṁdisk vap (z) + ṁcorners vap (z) (7)
where ṁdisk vap is computed by integrating the radial profile of acetone vapor concentration (Fig. 8 (a)) over the surface of the disk:

ṁdisk vap (z) = W 0 disk C(r, z) dS (8)
and ṁcorners vap is estimated with the hypothesis that acetone vapor concentration through the corners is equal to the minimum of the radial profile. Figure 9 shows the axial evolution of acetone vapor mass-flow ṁvap normalized by the injected liquid massflow of acetone ṁacetone . By z/H = 1, 40% of the injected acetone is vaporized; by z/H = 3, it is 80%. Therefore, the essential part of the evaporation process takes place before z/H = 3.

Bi-component case

In this section dedicated to the bi-component case (50% acetone -50% ethanol), the effect of the solvent (ethanol) on the vaporization of acetone is studied. All other parameters including camera settings such as intensification gain and diaphragm aperture are the same as in the mono-component case. Figure 10 shows radial (y = 0) profiles of acetone vapor concentration at different axial locations for the bi-component case. The profiles of the mono-component case seen Fig. 6 are shown again for comparison. The axial evolution of the profile has the same pattern as in the mono-component case with Gaussian profiles in the upper parts of the channel and almost flat ones far from injection.

However, the profiles of the bi-component case are consistently above that of the mono-component case: the relative acetone vapor concentration is higher at any given location for the former than for the latter case. This shows without doubt that the addition of ethanol in the fuel mixture accelerates the evaporation of acetone from the droplets. Such effect have been recently reported by [START_REF] Ammigan | Effect of asymmetric radiant heating on monodisperse acetone/ethanol and acetone/2-propanol bi-component droplets[END_REF]. In their study, bi-component acetone/ethanol droplets injected by a droplet generator travel through quiescent air and are exposed to asymmetric radiant heating. PLIF imaging of acetone vapor around the droplets indicates that the addition of ethanol promotes the cumulative vaporization of acetone despite the dilution in acetone concentration.

Figure 11 shows the axial evolution of axial concentration C axis = C(x = y = 0, z) normalized by C ∞ : C axis /C ∞ is maximal at z/H = 1, close to the injection point, and decreases towards 1 (asymptote) in both cases. However, axial concentration for the bi-component case is higher than for the mono-component case, as one could guess from Fig. 10). The difference between the two cases is of 20% at z/H = 1 and then continuously decreases with z increasing, to reach 5% at z/H = 3.6. It is coherent with the fact that, far from the injection, the difference between the two cases becomes null as acetone is completely vaporized. However we noticed the presence of a few droplets at axial positions as high as z/H = 5. These droplets are almost exclusively composed of ethanol (the less volatile of the two components, see Table 1). This is confirmed by simulations of monodisperse stream of acetone/ethanol droplets using a code based on the effective diffusion model [START_REF] Bodoc | Multicomponent droplet vaporization[END_REF]).

To further examine the effect of ethanol upon the vaporization of acetone, different cases of dilution of acetone in the fuel mixture (the rest being ethanol) are studied at z/H = 1 in the early development zone of the spray.

A parametric study is underway which first results are presented Fig. 12 but more are to come and will be exposed at IHTC. Fig. 12 Effect of droplet composition on acetone vaporization at z/H = 1: (a) radial profiles of normalized mean vapor concentration for some liquid compositions (from top to bottom, 20%, 40%, 60%, 80% and 100% acetone) and (b) increase of the evaporation rate of acetone at x/H = 0, as a function of initial acetone mass fraction.

Figure 12 (a) shows some radial profiles of acetone vapor concentration normalized by C ∞ for some initial acetone mass fraction Y acetone in the droplets. As in Fig. 10, the profiles of the bi-component cases are consistently above that of the mono-component case; moreover, the lower Y acetone the higher the relative concentration profile, meaning that the evaporation rate is even stronger as Y acetone is low.

Figure 12 (b) shows at z/H = 1 the evolution of the axial acetone vapor concentration C axis relative to that of the mono-component case (C axis,100% ) and normalized by the droplets' initial acetone mass fraction Y acetone (to better compare the relative effect of fuel composition), as a function of Y acetone . Again, the lower the initial acetone mass fraction in the droplet, the higher the relative axial concentration: a dilution as high as 90% results in an evaporation rate raised by 56%. The analysis of these results is in progress. Several explanations can be considered:

• The vaporization of pure acetone droplets may be blocked if local saturation conditions are reached. However, analysis of the highest vapor concentrations in the vicinity of the cluster of drops shows no saturation effect.

• The addition of alcohol in the composition of the mixture changes the liquid properties and the evaporation of acetone rate may change. A study is underway concerning the physical properties of the liquid mixture.

• Inside an evaporating bi-component droplet, recent studies showed that the concentration of the components is not homogeneous (?). A gradient of acetone concentration inside the drop could cause an over-concentration of acetone in the vicinity of the interface, thereby increasing the acetone evaporation rate.

CONCLUSIONS

An experimental study was conducted on the evaporation of a polydispersed bi-component acetone/ethanol droplet mist in highly turbulent conditions, and compared with pure acetone droplets to evaluate the impact of the addition of ethanol in the fuel mixture.

A dedicated test bench was used to generate in a channel an intense turbulent flow of heated air with isotropic and homogeneous behavior. Turbulence levels reach around 25% at the beginning of the established zone, where the spray (droplet Sauter mean diameter d 32 = 27 µm) is produced by means of an air-blast atomizer. Planar Laser-Induced Fluorescence was used to study the vaporization process of droplets in the two-phase flow. An ad-hoc post-processing of the fluorescence images enabled to extract acetone concentration fields along the channel from them.

Results showed that the two-phase flow has a behavior similar to what is observed in the development of free jets concerning the mean radial profiles of acetone vapor concentration, with fluctuations remaining very high (above 33% of C), meaning that the mixing is not perfectly realized in the channel. The evaporation process is fast since 40% of the injected acetone was vaporized by z/H = 1.

In addition, it was put in evidence that for a liquid mixture (50% acetone, 50% ethanol) the relative acetone vapor concentration was higher at any given location in the channel than for a pure acetone droplets case, showing that the addition of ethanol in the fuel mixture accelerates the evaporation rate of acetone. In the early development zone of the spray (z/H = 1), the effect of alcohol dilution has been studied and showed that a high dilution of 90% resulted in an evaporation rate boosted by more than 50%.

Moreover, turbulent dispersion may lengthen the flight path of droplets with small Stokes numbers, giving them more time to vaporize than larger droplets at a given axial position. Hence, given that pure acetone droplets shrink faster than bicomponent droplets, they should be more affected and/or affected more rapidly by turbulence, which could explain partially the effect observed and described in the present paper.

Yet, the causes of this effect are not well understood yet; the analysis is in progress and several tracks are considered to explain this phenomenon, which is an important step towards a better understanding of multicomponent droplets' evaporation modeling.

ACKNOWLEDGMENTS

This work is supported by a grant from Fondation Airbus Group. The authors wish to thank M. Marchal, S. Cazin, C. Korbuly, J.-M. Sfedj and F. Colombiès for their helpful support.

NOMENCLATURE

Fig. 1

 1 Fig. 1 Experimental set-up: (a) general view, (b) turbulence generator and (c) air-blast injection device.

Fig. 2

 2 Fig. 2 Initial conditions of the spray: (a) size and (b) axial velocity distributions of droplets for two fuel mixtures: pure acetone (solid line) and acetone-ethanol (dashed line).

Fig. 3

 3 Fig. 3 Planar Laser-Induced Fluorescence set-up.

Fig. 4

 4 Fig.4Carrier flow: (a) axial evolution of rms fluctuations of axial (solid line) and radial (dashed line) velocities at the centerline of the channel, and (b) radial profiles of axial velocity (y = 0) at various axial locations: z/H=0.88 (triangle), z/H=2.01 (diamond), z/H=3.66 (cross) and z/H=4.75 (square).

Fig. 5

 5 Fig. 5 Automated treatment of fluorescence images: (a) raw fluorescence image, (b) filtered image, (c) image of the high spatial frequencies and (d) vapor phase image.

Fig. 6

 6 Fig. 6 Radial profiles of acetone vapor concentration (solid line) and its normalized RMS fluctuations (dashed line) at various axial locations: (a) z/H = 1, (b) z/H = 1.6, (c) z/H = 2.3, (d) z/H = 3.1, (e) z/H = 3.6 and (f) z/H = 4.9.

Fig. 7

 7 Fig. 7 (a) Axial evolution of the axial acetone vapor concentration and (b) profiles of acetone vapor concentration normalized by their maximum and as a function of x/(z -z o ), at different axial locations: (plus) z/H = 1, (cross) z/H = 1.6, (asterisk) z/H = 2,(diamond) z/H = 2.6 and Gaussian fit (solid line).

Fig. 8

 8 Fig.8Computing the acetone vapor mass-flow across the entire? cross-section of the channel (b) at a given axial z location, from the radial profile of acetone vapor concentration (a) at that location and an extrapolation of the profile at the corners (c).

Fig. 9

 9 Fig.9Axial evolution of acetone vapor mass-flow through the channel cross-section, normalized by the injected liquid mass-flow (squares) and linear regression (solid line).

Fig. 10

 10 Fig. 10 Radial profiles of acetone vapor concentration from bi-component droplets (dotted line) at various axial locations: (a) z/H = 1, (b) z/H = 2, (c) z/H = 3.1, and (d) z/H = 3.6. Comparison with pure acetone droplets (solid line).

Fig. 11

 11 Fig. 11 Axial evolution of axial concentration: mono-component (square) and bi-component (cross) cases. Linear regressions (respectively solid and dashed lines) and asymptote (dotted line).

Table 1

 1 Some properties of acetone and ethanol.

	Chemical compound	Acetone	Ethanol
	Formula	CH 3 COCH 3 CH 3 CH 2 OH
	Molar mass [g/mol]	58.08	46.07
	Density [kg/m 3 ]	791	789
	Boiling temperature [K]	330	352
	Vapor pressure at 293 K / 20 • C [kPa]	25.6	5.8

  the droplets' relaxation time, T e = 51 ms the integral time scale of the carrier flow and τ k = 2.2 ms the characteristic time of the Kolmogorov scale. Table 2 shows different values of Stokes numbers for several droplet sizes. Droplets of the spray have a rather large range of Stokes number. The smallest ones should follow the different structures of the flow while the largest ones should only follow the most energetic scales of turbulence.

	T e	and	St k = τ p /τ k	(1)
	with τ p

Table 2

 2 Stokes numbers for various droplet size classes.

	Droplet size [µm]	5	10	25	50
	St L	0.002 0.035 1.12 14.4
	St k	0.057 0.83 26.4 340

Table 3

 3 Fuel parameters for the two studied experimental cases.

	Case	Mono-component	Bi-component
	Temperature	T f uel = 290 [K] (room temperature)
	Liquid mass-flow rate	ṁfuel = 0.21 [g/s]
	Acetone mass fraction


Ganji Saad
email: saad@deeplite.ai

Ashfaq Ehsan
email: ehsan@deeplite.ai

Saboori Sudhakar
email: sudhakar@deeplite.ai

Sah Saptarshi
email: saptarshi@deeplite.ai

Mitra Mohammadhossein

Askarihemmat Alexander Hoffman

Ahmed Hassanien

Mathieu Léonardon
email: mathieu.leonardon@imt-atlantique.fr

DeepGEMM: Accelerated Ultra Low-Precision Inference on CPU Architectures using Lookup Tables

A lot of recent progress has been made in ultra lowbit quantization, promising significant improvements in latency, memory footprint and energy consumption on edge devices. Quantization methods such as Learned Step Size Quantization can achieve model accuracy that is comparable to full-precision floating-point baselines even with subbyte quantization. However, it is extremely challenging to deploy these ultra low-bit quantized models on mainstream CPU devices because commodity SIMD (Single Instruction, Multiple Data) hardware typically supports no less than 8-bit precision. To overcome this limitation, we propose DeepGEMM, a lookup table based approach for the execution of ultra low-precision convolutional neural networks on SIMD hardware. The proposed method precomputes all possible products of weights and activations, stores them in a lookup table, and efficiently accesses them at inference time to avoid costly multiply-accumulate operations. Our 2-bit implementation outperforms corresponding 8-bit integer kernels in the QNNPACK framework by up to 1.74× on x86 platforms.

Introduction

Deep learning methods have achieved state-of-the-art performance on several computer vision tasks, but deploying these algorithms on mainstream CPU platforms is challenging due to cost and latency constraints [17]. Ultra lowbit quantization [2,5,7,[START_REF] Steven | Learned step size quantization[END_REF][START_REF] Li | Mqbench: Towards reproducible and deployable model quantization benchmark[END_REF]23] presents an attractive option for reducing neural network inference costs. A 2bit quantized model offers a theoretical model compression rate of 16× relative to the 32-bit floating-point (FP32) base- line, but achieving low latency inference with ultra low-bit models on general purpose processors (GPPs) remains an active area of research [8,[START_REF] Han | Extremely Low-bit Convolution Optimization for Quantized Neural Network on Modern Computer Architectures[END_REF][START_REF] Tulloch | High performance ultra-low-precision convolutions on mobile devices[END_REF].

Deep learning workloads on CPUs are typically accelerated by exploiting data-level parallelism through SIMD programming. However, ultra low-bit deep learning operators can not be efficiently executed on these devices because sub-8-bit instructions are not generally supported in the vectorized instruction sets of mainstream CPU architectures including SSE/AVX instructions on x86 and Neon instructions on Arm. Therefore, to enable ultra low-precision model deployment on these GPPs, it is imperative to develop techniques that leverage the available SIMD instructions for ultra low-precision computations.

Ultra low-bit quantization methods are highly competitive with industry standard 8-bit (INT8) quantization techniques, especially on classification tasks. For example, as shown in Tab. 1, at 2 bits of precision, the state-of-the-art uniform quantization method LSQ [START_REF] Steven | Learned step size quantization[END_REF] achieves a 2.3% and 2% accuracy drop on the ImageNet dataset when quantizing the networks ResNet50 and VGG16, respectively. In comparison, the same method at INT8 precision results in an accuracy loss of 0.1% and improvement of 0.1% over the 1 arXiv:2304.09049v1 [cs.LG] 18 Apr 2023 32-bit full-precision baseline, respectively. The improved compression and latency of the 2-bit model makes the mild accuracy degradation tolerable in many use cases.

Moreover, ultra low-bit quantization can also be employed using a mixed precision approach to prevent the potentially significant accuracy loss resulting from quantizing all layers in a network. Sensitive layers can be kept at higher precision (FP32, FP16, INT8) and less sensitive layers can be quantized down to ultra low-precisions. HAWQ-V3 [START_REF] Yao | HAWQV3: dyadic neural network quantization[END_REF] presents such a solution that determines the bitwidth per layer by solving an integer linear programming problem to balance the accuracy-performance tradeoff.

To realize the goal of ultra low-precision model deployment on GPPs, this paper proposes DeepGEMM, a set of convolution kernels that utilize the SIMD instructions in modern processors to perform lookup operations into precalculated tables. This method replaces expensive multiply-accumulate (MAC) operations prevalent in deep learning models with faster precomputed data retrieval from a lookup table (LUT) provided that the table is small enough to fit within the processor cache or registers. LUTs can be used for operations that require dot products such as convolutional and fully-connected layers which are the primary building blocks of convolutional neural networks (CNNs). Utilizing LUTs for these bottleneck layers can significantly accelerate inference on mainstream CPU platforms where some (mixed precision) or all of the layers in the network are quantized to ultra low-bit, based on the accuracy requirements. This paper makes the following contributions:

• We propose a novel approach for extremely low-bit computations on CPUs with SIMD support that utilizes lookup tables to replace MAC operations. The dot product of two ultra low-bit input vectors can be performed by retrieving precomputed products of the input operands from a table stored in processor registers or cache eliminating costly arithmetic and enabling faster data access.

• We present DeepGEMM, a set of flexible ultra lowprecision convolution operators compatible with uniform and non-uniform quantization techniques, for the x86 platform. The LUT based operators leverage efficient packing schemes and vectorization to minimize latency in ultra low-bit model deployment.

• We provide detailed performance breakdown and profiling results at the kernel, operator and model level. DeepGEMM offers substantial improvements over highly optimized GEMM libraries and state-of-the-art methods for ultra low-bit inference on x86.

The rest of the paper is structured as follows: Section 2 provides some background on quantization and prior works focusing on quantized inference on CPU architectures. Section 3 introduces DeepGEMM with a brief overview of the LUT approach and its different versions. Section 4 takes a technical deep dive into the DeepGEMM algorithm detailing different packing schemes and the vectorized implementation. Section 5 presents extensive experimental results with comparisons against optimized baselines and ultra low-bit techniques. Section 6 discusses future enhancements and work in progress. Finally, Section 7 concludes the paper.

Background

Quantization

In convolutional neural networks, the inputs to the convolutions are feature maps which are tensors of padded activations data that are convolved with weights. These activations and weights can be quantized. Quantization consists of mapping data from a larger set of potentially infinite real values to a smaller set of finite values represented using a countable number of bits. Typically, feature map and weight values are stored in floating-point format with 32 bits. It is possible to represent these values with fewer bits through quantization. The advantages of reducing the number of bits are smaller memory footprint and lower computational complexity typically leading to increased performance with lower latency, higher throughput and improved energy efficiency. The term quantization (resp. dequantization) defines the process of converting 32-bit floatingpoint numbers into (resp. from) lower precision representations. There are two main families of quantization techniques: uniform and non-uniform.

In uniform quantization, the quantized values typically correspond to integers and there is a linear relation between intervals in the quantized and in the real domain. Two parameters are needed to define a particular quantization process, which are a scaling factor s ∈ R and the zero-point z ∈ R which is the integer value to which the real value zero is mapped. Let x q ∈ {-2 b-1 , -2 b-1 + 1, ..., 2 b-1 } be the quantized version of x ∈ R that can be computed with the transformation given in Eq. (1).

x q = quantize(x) = clip(round(s • x + z, -2 b-1 , 2 b-1 -1)) (1)
The direct advantage of uniform quantization is that, operations on real values can be transformed into operations on integer values leading to optimized implementations on integer processing hardware. On the other hand, it is also possible to perform non-uniform quantization that generally offers higher accuracy by using floating-point values for the quantization levels. Although the transformation to integer arithmetic is lost, the mean quantization error is reduced by providing a better fit for the given distribution of weights and activations.

Related Works

Prior efforts on low-bit implementation of CNNs on GPPs have primarily focused on 8-bit quantization. QN-NPACK [START_REF] Dukhan | QNNPACK: open source library for optimized mobile deep learning[END_REF] is a highly optimized library that is integrated within the PyTorch [START_REF] Choi | Accurate and efficient 2-bit quantized neural networks[END_REF] framework and provides high performance convolution kernels for 8-bit quantization targeting both x86 and Arm architectures. NCNN [START_REF] Cowan | Automatic generation of highperformance quantized machine learning kernels[END_REF] and gemmlowp [START_REF] Cai | Deep learning with low precision by half-wave gaussian quantization[END_REF] can also be used for efficient implementations of 8-bit quantized GEMM algorithms. Similarly, the CMSIS-NN framework [START_REF] Lai | CMSIS-NN: efficient neural network kernels for arm cortex-m cpus[END_REF] includes optimized 8-bit convolution kernels for Arm Cortex-M processors.

Quantized inference on GPPs with fewer than 8-bits is more rare in the literature. [START_REF] Tulloch | High performance ultra-low-precision convolutions on mobile devices[END_REF] proposes an implementation based on bitwise ANDs and popcount instruction to perform the elementary operations of the convolutions. Indeed, if weights and activations are represented with a single bit, a multiplication can be implemented as an AND, and accumulation can be performed using the popcount operation. By adding shifts to the equation, one can also support computations on 2-bit or higher precision data enabling efficient data parallelism and lower latency compared to standard higher precision operators.

This bit-serial approach with bitwise ANDs and popcount operations is also used in [8] and [START_REF] Saad Ashfaq | Accelerating deep learning model inference on arm cpus with ultra-low bit quantization and runtime[END_REF] where bitserial kernel implementations for Arm-based targets are provided within the TVM [4] machine learning compiler framework. This allows the algorithms to take advantage of existing compiler optimizations including loop tiling, loop unrolling, vectorization and multicore parallelization. The method is tested on a ResNet18 network, and the throughput gains are significant, especially for 1-bit quantization (6× over FP32).

Another framework that increases the performance of GEMM processing at ultra low-precision is ULP-PACK [START_REF] Won | Ulppack: Fast sub-8-bit matrix multiply on commodity simd hardware[END_REF]. Depending on the number of bits, this implementation is shown to achieve better performance than the bit-serial method. The principle is to pack multiple sub-byte weight and activation values within an 8-bit integer. Then a regular 8-bit multiply operation produces the expected dotproduct result. This principle can be further extended to 16-bit and 32-bit multiply operations with even more inputs. Full networks are implemented using this technique, and it is shown that ULPPACK outperforms other low-bit implementations such as QNNPACK, gemmlowp, and the bit-serial version at certain bitwidths.

[11] have also proposed an implementation of extremely low-bit quantization of CNNs. The performance gains are achieved with a clever usage of MAC operations that are vectorized using the Arm Neon instruction set, reducing the number of cycles needed to perform a single convolution. Throughput gains are significant and are even observed for 4-8 bits, while the bit-serial approach in [8] had only reported gains with 1-3 bits.

Bitflow [START_REF] Hu | Bitflow: Exploiting vector parallelism for binary neural networks on cpu[END_REF] implements binary network on CPUs. It describes a code generator that produces 1-bit quantized operators and uses data-level and thread-level parallelism to achieve good performance. A PressedConv layer is intro- duced that performs bit-packing along the channel dimension, and then applies bitwise XORs and popcount operations. A feature that is specific to this implementation is the use of AVX512 instructions on Xeon Phi architecture.

Methodology

Overview

The overall DeepGEMM algorithm is composed of three primary steps: packing, unpacking and lookup table access. Packing involves loading multiple low-bit values within a standard higher precision data type. Fig. 1a

LUT Versions

We developed two different implementations of our LUT approach: the first uses SIMD operations on a lookup table with 16 entries (LUT-16) while the second uses a lookup table with 2 16 entries (LUT-65k). In both cases, the weight and activation values are quantized to 2 bits. The implementations target x86 CPUs with AVX2 support using 256-bit vector registers. For both versions, the lookup table entries are 8-bit values implicitly assuming that the result of the MAC operations will not overflow 8 bits. If required, higher precision data types can be chosen for the lookup table entries to account for larger accumulation results to be stored in the table.

LUT-16

In the LUT-16 version shown in Fig. 3 sults of w • a, with w ∈ {ω 00 , ω 01 , ω 10 , ω 11 } and ∈ {α 00 , α 01 , α 10 , α 11 }. A notable trick is that the weights in 7 are reordered so that after masking, the resulting vectors 9 and 10 can be directly combined with an OR operation, without additional shifting needed. And this is cost-less at inference time, because the rearrangement of weights can be performed offline. The resulting values in 11 , 15 , 20 and 25 represent the indices that are used to retrieve the precomputed products from the LUTs stored in 5 and 6 with the AVX2 shuffle instruction for table lookup. This process produces 4, 8-bit dot products in vector registers 12 , 16 , 21 and 26 . A vectorized sum of the 8-bit elements is performed across these registers. The final operation is a horizontal addition of these values. The AVX2 implementation of this reduction is detailed in Listing 1. Upon close inspection, it can be inferred that the number of instructions to perform the convolution with the LUT approach is actually comparable to the FP32 baseline. For each pair of weight and activation values, we perform an operation in both cases: a shuffle for our ultra low-bit LUT Fits in L1 cache ✓ ✓ ✓ method and a multiplication for the standard FP32 method.

When loading vector registers with weight and activation inputs, the number of values loaded in a register is given by the vector register size (R) divided by the data size. For 2-bit quantized values with the LUT approach, R/2 values can be loaded in a register whereas in the case of FP32 data, only R/32 values can be loaded (R/8 in the case of 8-bit quantized data). Therefore, in addition to the latency of shuffle operation being lower than multiplication, the observed gains with the LUT method also result from substantially fewer exchanges between the cache and registers.

LUT-65k

In the LUT-65k version, we create a lookup table with 2 16 , 8-bit elements. The elements correspond to all possible combinations of the dot product between 4, 2-bit weight and 4, 2-bit activation values. The index into this table is 16-bit wide and is constructed by concatenating the 8 bits from the 4 weights with the 8 bits from the 4 activations. This greatly simplifies the unpacking step as the 8 bits of weights and activations can be easily interleaved using existing 8-bit vectorized instructions removing the need for explicit masking and shifting operations to extract the relevant values. With a total size of 64 KB, the lookup table can be stored in cache, as it easily fits within a typical L2 cache on modern processors.

Scalability to Larger Bitwidths

Currently DeepGEMM only supports 2-bit quantized models, but the LUT-16 version can be easily extended to larger bitwidths with the set of changes listed in Tab. 2. For 3-bit, we require a 6-bit index into the LUT resulting in 64 entries. Assuming each entry is an 8-bit integer, this would require 64 bytes or 512 bits so the LUT can be stored in 2, 256-bit AVX2 registers or the L1 cache. The number of packing and unpacking instructions remain the same as the 2-bit version but the LUT access time will slightly increase due to accessing entries within a larger table. Similarly for 4-bit, an 8-bit index is needed to access a 256 entry LUT that requires 256 bytes or 2048 bits for storage. The LUT can be stored in 8 AVX2 registers or in the L1 cache. In- structions for packing are the same as the 2-bit version but less instructions are required for unpacking since the 8-bit index can be supported by the standard INT8 data type eliminating some masking and shifting operations. However, the overhead for accessing the LUT will be slightly higher due to retrieving results from a larger table spread across multiple vector registers.

Implementation Details

Packing Schemes

We experimented with several packing schemes in order to optimize the unpacking step. Fig. 4 displays 2 different packing schemes and 2 unpacking processes for each scheme. The first packing scheme used in (a) and (b) is the most naive one. The inputs 7 and 8 are naturally ordered. In order to unpack them, 4 operations are needed to put 2 of the inputs in the correct order, before being used as index to the lookup operation, implemented with a shuffle. To generate a second output, the same process would be needed but with an additional shift before doing the final lookup step. In figure (b), a small improvement is proposed with the same packing scheme, but using different masks ( 3 , 5 and 6 ), in order to reduce the number of operations needed to unpack two pairs of weights and activations. Further improvement can be performed with the packing scheme described in schemes (c) and (d) (see [START_REF] Choi | Accurate and efficient 2-bit quantized neural networks[END_REF] ). With this new arrangement of weights performed offline, there is one less shift operation to be performed in scheme (c) compared to scheme (a) to produce 1 output. Finally, scheme (d) uses both improvements, generating two pairs of weights and activation as in (b), with the packing scheme used in (c) to reduce the number of shifts needed. Tab. 3 lists the average number of instructions required to retrieve a single entry from the LUT for one weight-activation pair with these different schemes.

Vectorized Algorithm

We are able to execute 32 lookups at a time within a 256-bit vector register using the AVX2 shuffle instruction. Algorithm 1 shows simplified pseudocode for the vectorized DeepGEMM algorithm. The precomputed products are stored in the LUT at line 4. The prepacked activation and weight values are loaded into 256-bit vector registers in lines 5 and 6, respectively. The unpacking of inputs to generate the index for LUT access happens at line 9. Finally, the lookup table is accessed to retrieve the precomputed product of the input values in line 10. The sum reduction of the LUT values is the last step before storing the accumulated dot product results. Unlike Neon, AVX2 does not offer an instruction that can be utilized for the horizontal vector sum; the group of instructions that were utilized for this reduction step are given in Listing 1.

Algorithm 1 DeepGEMM algorithm as pseudocode

Experimental Results

Operator Profiling

On the x86 platform (Intel i7 9700k@3.6GHz), we compare the performance of DeepGEMM on various classification models against optimized INT8 kernels in the QN-NPACK library. The results on a subset of the convolution layers are given in Fig. 5 with each subfigure corresponding to a classification model. The horizontal axis gives the dimensions of each layer in (M, N, K) format representing an (M, N ) × (N, K) GEMM computation. The per-layer speedup increases with higher values of K as the DeepGEMM kernel is vectorized along the K dimension. The overall geomean speedups across all the layers tested are presented in Tab. 4. DeepGEMM achieves significantly lower latencies compared to QNNPACK with geomean speedups of 1.74×, 1.64×, 1.67× and 1.57× on MobileNetV1, ResNet18, ResNet34 and ResNet50 layers, respectively.

End-to-end Profiling

End-to-end inference results for six convolutional neural networks tested with QNNPACK and DeepGEMM kernels are presented in Fig. 6 and Tab. 5. All convolution layers in the networks were quantized to either 8-bit for QNNPACK or 2-bit for DeepGEMM. The results include the execution time for packing, quantization and dequantization of activations while the packing and quantization of The latency improvements enabled with DeepGEMM are complemented by advances in ultra low-bit quantization methods where minimal accuracy degradation is observed across entire networks with all layers converted to ultra lowprecision. This is demonstrated in Tab. 1 that gives the Top-1 accuracies for the ResNet-based models at 32, 8 and 2 bits with the quantized models trained using LSQ [START_REF] Steven | Learned step size quantization[END_REF]. The 2bit ResNet18, ResNet34 and ResNet50 models only incur accuracy drops of 2.6%, 1.7% and 2.3% compared to the full-precision baselines, respectively. The accuracy losses relative to the 8-bit baselines are 3.2%, 1.7% and 2.2%, respectively. The higher inference performance realized with DeepGEMM coupled with the considerable memory savings achieved through ultra low-bit model representations can offset the minor accuracy dips in several applications.

Comparison with Ultra Low-bit Methods

State-of-the-art methods for ultra low-bit inference on GPPs including bit-serial [8] and ULPPACK [START_REF] Won | Ulppack: Fast sub-8-bit matrix multiply on commodity simd hardware[END_REF] primarily focus on kernels for Arm CPU targets whereas DeepGEMM provides a set of kernels for the x86 platform with porting to Arm architecture still under development. ULPPACK does offer some x86 performance results but no low-level implementation details are provided so it was not possible to reproduce the reported results on our platform. A comparison may be performed by using the per-layer throughput numbers from ULPPACK on a subset of MobileNetV1 layers at 2-bit; ULPPACK achieves a geomean speedup of 1.77× whereas DeepGEMM achieves a geomean speedup of 1.74× over QNNPACK as shown in Fig. 5a and Tab. 4. In addition to offering competitive performance to SOTA, DeepGEMM also provides more flexibility for quantization and input representations.

The LUT can store either integer or floating-point values. Floating-point entries in the LUT that represent the dot The LUT can store either unsigned or signed data. This allows the input activations and weights to be encoded as unipolar (unsigned) or bipolar (signed). ULPPACK only supports unsigned data and therefore requires additional operations to be added before and after the GEMM computation to accommodate signed inputs such as neural network weights. Although the bit-serial approach natively supports both unipolar and bipolar data representations without the addition of any operators to the network, the bipolar case requires extra popcount instructions in the dot product calculations [8]. DeepGEMM offers the distinct advantage of providing identical latency regardless of the sign of the input data enabling the same level of performance for higher accuracy bipolar quantization techniques [3, 6, 10] relative to purely unipolar methods.

Finally, since the LUT stores precomputed results, and quantization constants including scaling factors are known at compile-time, this potentially enables the fusion of quantize, convolution and dequantize operators by storing the combined results of the sequence of these layers in the LUT. This can remove the overhead of activation quantization and dequantization which can be significant for some layers. accumulation) and activation dequantization. We used the ONNX Runtime profiling tool to get the latencies for these four stages and also used the Intel VTune ™ Profiler to compare the latencies of the three steps within the LUT convolution stage. Activation packing and dequantization take a minor amount of the overall execution time. For small layers, activation quantization can add considerable overhead, but this can be addressed by the fusion of operators as discussed in the last point when comparing to SOTA methods above. In all cases, it can be observed that the Lut-Conv step that includes unpacking, lookup and accumulation, is the primary bottleneck so DeepGEMM should still be performant when the overhead of activation packing, quantization and dequantization is considered. The VTune ™ Profiler results further reveal that the unpacking step within Lut-Conv consumes about 80% of the overall execution time. Since unpacking has to be performed repeatedly on the packed data and requires multiple bitwise instructions, it presents a significant overhead compared to the lookup operation. Interestingly, even though table lookup is the defining feature of DeepGEMM, it takes substantially less time compared to both the input packing and unpacking steps promising considerable performance improvements in the future with more efficient unpacking schemes.

Low-Level Kernel Profiling

Future Work

As stated previously, the unpacking stage is currently the primary bottleneck in the DeepGEMM algorithm. We are exploring more efficient packing methods to reduce the number of instructions required for unpacking. We are also experimenting with operator fusion before and after convolution to store precomputed results for a sequence of operators in the LUT to remove the overhead resulting from activation quantization. In addition to our x86 LUT kernels, we also worked on extending DeepGEMM to Arm and tested it on the Raspberry Pi 4B device (4×Arm Cortex-A72@1.5GHz) as shown in Fig. 8. However, Neon lacks a 128-bit vectorized instruction for table lookup similar to the AVX2 shuffle instruction so our current Arm implementation does not offer competitive performance.

Conclusion

In this work, we introduce DeepGEMM, a lookup table based approach for CPUs that replaces the costly multiplyaccumulate arithmetic in dot product calculations with simpler indexing operations into preconstructed tables for computing ultra low-precision layers in convolutional neural networks. The faster latency of table lookup coupled with substantially fewer memory accesses for packed ultra lowbit data results in significant performance gains over optimized baselines. Compared to prior works on sub-byte operators, DeepGEMM offers greater flexibility with support for uniform and non-uniform quantization methods where unsigned and signed, integer or floating-point results can be precomputed and stored in the lookup table. We implement vectorized DeepGEMM kernels for x86 platforms that outperform optimized 8-bit baselines by up to 1.74×.

Figure 1 .

 1 Figure 1. Weight and activation values in floating-point are quantized to ultra low-bit and cast to integer before being packed into higher percision data types in a vectorized manner using bitwise shift and OR operations in (a). Ultra low-bit weight and activation values are extracted from the packed data types and concatenated to form indices for LUT access using vectorized masking and bitwise operations in (b).

  α 00 .ω 00 α 11 = 0.72 ω 11 = 0.56 α 00 = -0.61 ω 00 = -0.30 ω 01 = -0.17 α 00 = -0.61 α 00 .ω 01 α 00 .ω 10 α 11 .ω 11

Figure 2 .

 2 Figure 2. Lookup table accessed to retrieve precomputed products of ultra low-bit activation and weight values that are represented by the corresponding indices.

  depicts the vectorized packing of 2-bit input values within larger data types. Unpacking extracts the low-bit values from the packed representation as illustrated in Fig. 1b. Both packing and unpacking steps only require inexpensive bitwise masking and shifting operations. Unpacked low-bit weight and activation values are concatenated to construct indices that are used for LUT access as shown in Fig. 2.

Figure 3 .

 3 Figure 3. Vectorized lookup with LUT-16.

  f = m m a d d e p i 6 4 ( e , d ) ; 6 o u t = m m c v t s i 1 2 8 s i 6 4 ( f ) ;

Figure 4 .

 4 Figure 4. Packing schemes and corresponding operations for unpacking.

9 :Figure 5 .

 95 Figure 5. Per-layer speedups over QNNPACK INT8.

Fig. 7 Figure 6 .Figure 8 .

 768 Fig. 7 provides a detailed breakdown of the execution times for individual layers with DeepGEMM on the x86 platform. Operations for a single convolution layer can be categorized into activation quantization, activation packing, convolution with LUT (includes unpacking, lookup and

Table 1 .

 1 Top-1 accuracies on ImageNet dataset with LSQ.

	Model	Accuracy@Precision 32-bit 8-bit 2-bit
	ResNet18 70.5% 71.1% 67.9%
	ResNet34 74.1% 74.1% 72.4%
	ResNet50 76.9% 76.8% 74.6%
	VGG16	73.4% 73.5% 71.4%

  , two 128-bit lookup tables are stored in a single 256-bit vector register. The values stored in the LUT are all possible re-

				11				11			11
			11				11				11
		11				11				11
	11 α 00 .ω 00	11 α 00 .ω 01	11 α 11 .ω 11
	ω 00 .α 00	ω 00 .α 01		ω 11 .α 11
	w n-2	w n-1	w n-4	w n-3	w n-6	w n-5	w n-8	w n-7	w 2	w 3	w 0	w 1
	a n-1 a n-2 a n-3 a n-4 a n-5 a n-6 a n-7 a n-8	a 3 a 2 a 1 a 0
				w n-3				w n-7				w1
			a n-3				a n-7				a 1
			a n-3	w n-3			a n-7	w n-7			a 1	w 1
			w n-4					a n-8			w 0
				a n-4			w n-8					a 0
			w n-4	a n-4			w n-8	a n-8			w 0 a 0
		w n-1				w n-5				w 3
	a n-1				a n-5				a 3
	a n-1	w n-1			a n-5	w n-5			a 3	w 3
			a n-1	w n-1			a n-5	w n-5			a 3	w 3
	w n-2				w n-6				w 2
		a n-2				a n-6				a 2
	w n-2	a n-2			w n-6	a n-6			w 2	a 2
			w n-2	a n-2			w n-6	a n-6			w 2	a 2

Table 2 .

 2 Scaling LUT-16 to larger bitwidths.

	Bitwidth	2	3	4
	Index bitwidth	2 + 2 = 4 3 + 3 = 6 4 + 4 = 8
	LUT entries	2 4 = 16	2 6 = 64	2 8 = 256
	LUT size	128 bits	512 bits	2048 bits
	AVX2 registers	1	2	8

Table 3 .

 3 Average number of instructions needed per output for different packing schemes.

  Register that extracts the 2 LSB bits from 8 bit elements of a vector register. 2: lookup table: Lookup table containing every combination of multiplication of two 2-bit values. 3: addr[V ]: Returns the address of variable V . 4: lut ← addr[lookup table] 5: vec a ← addr[act tensor] 6: vec w ← addr[w tensor] 7: for i ← 0 to 4 do

	8:	shif t = i * 2

1: mask:

Table 4 .

 4 Geomean speedups across convolution layers over QN-NPACK INT8.

	Model	Geomean Speedup
	MobileNetV1	1.74×
	ResNet18	1.64×
	ResNet34	1.67×
	ResNet50	1.57×
	Average	1.66×
	weights was handled offline since the parameter values are
	available after training. The results demonstrate significant
	end-to-end speedups of up to 1.68× with DeepGEMM over
	QNNPACK, specially on models such as ResNet, where
	the convolution layers form the primary bottleneck during
	model execution.

Table 5 .

 5 End-to-end speedups over QNNPACK INT8.

	Model	End-to-end Speedup
	ResNet18	1.62×
	ResNet34	1.68×
	ResNet50	1.59×
	ResNeXt101	1.50×
	GoogleNet	1.50×
	InceptionV3	1.58×
	Average	1.58×
	products of input activation and weight values make Deep-
	GEMM compatible with non-uniform quantization. Non-
	uniform quantizers typically use floating-point values for
	the quantization levels producing models with higher ac-
	curacy compared to uniform quantizers. LCQ [21] uses
	non-uniform quantization to outperform the SOTA LSQ
	method by up to 1.3% in image classification, demonstrat-
	ing the potential performance improvements enabled by
	DeepGEMM. Bit-serial and ULPPACK only work with in-
	teger values and are therefore not suitable for non-uniform
	quantization.