Abstract
In recent years, many new approaches in approximate computing have been presented. These techniques have shown great opportunities to improve performance or energy consumption of applications while trading often a negligible decrease in accuracy. Many different techniques have been invented, ranging from hardware techniques to approaches purely implemented in software, compilers, and frameworks. Research has shown that applications often have very specific demands on hardware and usually suffer from specific bottlenecks such as memory bandwidth or compute capabilities. Developers optimize applications employing advanced techniques to optimally exploit hardware capabilities. We study how the workload character of the applications is affected when they are optimized using approximate computing techniques. We analyze the detailed micro-architectural application character using 55 characteristics. We evaluate four approximate computing techniques on all 37 applications from PolyBench/C and AxBench. We show how the optimization using the different approximation techniques influences both the properties of individual applications and groups of similar applications’ characters. We find results that contradict general expectations, such as an increasing number of instructions executed when the opposite is expected. Furthermore, some applications are slowed down when approximated, which is confirmed by the number of executed instructions. These results show that the approximation of an application changes the core of its characteristics and that a detailed analysis of approximated applications is required. Interference between traditional optimizations and approximation requires a holistic approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Besnard, L., Pinto, P., Lasri, I., Bispo, J., Rohou, E., Cardoso, J.M.: A framework for automatic and parameterizable memoization. SoftwareX 10, 100322 (2019)
Brumar, I., Casas, M., Moreto, M., Valero, M., Sohi, G.S.: ATM: approximate task memoization in the runtime system. In: IPDPS. IEEE (2017)
Cherubin, S., Cattaneo, D., Chiari, M., Agosta, G.: Dynamic precision autotuning with TAFFO. ACM TACO 17(2), 1–26 (2020)
Chiang, W.F., Baranowski, M., Briggs, I., Solovyev, A., Gopalakrishnan, G., Rakamarić, Z.: Rigorous floating-point mixed-precision tuning. ACM SIGPLAN Not. 52(1), 300–315 (2017)
Chippa, V.K., Chakradhar, S.T., Roy, K., Raghunathan, A.: Analysis and characterization of inherent application resilience for approximate computing. In: DAC (2013)
Esmaeilzadeh, H., Sampson, A., Ceze, L., Burger, D.: Neural acceleration for general-purpose approximate programs. In: MICRO. IEEE (2012)
Hoste, K., Eeckhout, L.: Comparing benchmarks using key microarchitecture-independent characteristics. In: IISWC. IEEE (2006)
Lal, S., et al.: SYCL-bench: a versatile cross-platform benchmark suite for heterogeneous computing. In: Malawski, M., Rzadca, K. (eds.) Euro-Par 2020. LNCS, vol. 12247, pp. 629–644. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-57675-2_39
Lal, S., Lucas, J., Juurlink, B.: SLC: memory access granularity aware selective lossy compression for GPUs. In: DATE. IEEE (2019)
Lashgar, A., Atoofian, E., Baniasadi, A.: Loop perforation in OpenACC. In: ISPA/IUCC/BDCloud/SocialCom/SustainCom. IEEE (2018)
Li, S., Park, S., Mahlke, S.: Sculptor: flexible approximation with selective dynamic loop perforation. In: ICS (2018)
Maier, D., Cosenza, B., Juurlink, B.: Local memory-aware kernel perforation. In: CGO (2018)
Maier, D., Cosenza, B., Juurlink, B.: ALONA: automatic loop nest approximation with reconstruction and space pruning. In: Sousa, L., Roma, N., Tomás, P. (eds.) Euro-Par 2021. LNCS, vol. 12820, pp. 3–18. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-85665-6_1
Misailovic, S., Carbin, M., Achour, S., Qi, Z., Rinard, M.C.: Chisel: reliability- and accuracy-aware optimization of approximate computational kernels. ACM Sigplan Not. 49(10), 309–328 (2014)
Mitra, S., Gupta, M.K., Misailovic, S., Bagchi, S.: Phase-aware optimization in approximate computing. In: CGO. IEEE (2017)
Moreau, T., et al.: SNNAP: approximate computing on programmable SOCs via neural acceleration. In: HPCA. IEEE (2015)
Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. ACM Sigplan Not. 42(6), 89–100 (2007)
Parasyris, K., et al.: HPC-MixPBench: an HPC benchmark suite for mixed-precision analysis. In: IISWC (2020)
Pouchet, L.N.: PolyBench/C 3.2. http://www.cse.ohio-state.edu/pouchet/software/polybench/
Rubio-González, C., et al.: Precimonious: tuning assistant for floating-point precision. In: SC. IEEE (2013)
Samadi, M., Jamshidi, D.A., Lee, J., Mahlke, S.: Paraprox: pattern-based approximation for data parallel applications. In: ASPLOS (2014)
Sampson, A., et al.: Accept: a programmer-guided compiler framework for practical approximate computing. University of Washington Technical Report UW-CSE-15-01 (2015)
Shafique, M., Ahmad, W., Hafiz, R., Henkel, J.: A low latency generic accuracy configurable adder. In: DAC. IEEE (2015)
Sidiroglou-Douskos, S., Misailovic, S., Hoffmann, H., Rinard, M.: Managing performance vs. ESEC/FSE, accuracy trade-offs with loop perforation (2011)
Tziantzioulis, G., Hardavellas, N., Campanoni, S.: Temporal approximate function memoization. MICRO 38(4), 60–70 (2018)
Yazdanbakhsh, A., Mahajan, D., Esmaeilzadeh, H., Lotfi-Kamran, P.: AxBench: a multiplatform benchmark suite for approximate computing. IEEE Des. Test 34(2), 60–68 (2016)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Maier, D., Schirmeister, S., Juurlink, B. (2022). Effects of Approximate Computing on Workload Characteristics. In: Schulz, M., Trinitis, C., Papadopoulou, N., Pionteck, T. (eds) Architecture of Computing Systems. ARCS 2022. Lecture Notes in Computer Science, vol 13642. Springer, Cham. https://doi.org/10.1007/978-3-031-21867-5_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-21867-5_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-21866-8
Online ISBN: 978-3-031-21867-5
eBook Packages: Computer ScienceComputer Science (R0)