A computing system comprising: one or more processors (120, 122); bulk memory comprising computer-readable storage devices and/or memory; a block floating-point compressor formed from at least one of the processors, the block floating-point compressor being in communication with the bulk memory; and the computing system being configured to: with at least one of the processors, perform forward propagation for a layer of a neural network to produce first activation values (315, 316) in a first floating-point format, wherein each activation value in the first floating-point format has a mantissa value in a mantissa format and an exponent value; with the block floating-point compressor, convert at least one of the activation values to a second, block floating-point format to produce compressed activation values all sharing a same given exponent value by mapping activation value mantissas to a non-uniform mantissa format, wherein if the activation values in the first floating-point format have exponent values differing from the given exponent value, each mantissa value in the non-uniform mantissa format is shifted (345, 346) to ensure that the corresponding exponent value is the given exponent value, and wherein the non-uniform mantissa format maps a set of values of the mantissa represented by a number n of bits onto a smaller set of values represented by a number p of bits, p being smaller than n, thereby reducing the number of bits used to represent the mantissa; and with at least one of the processors, storing the compressed activation values in the bulk memory. one or more processors (120, 122); bulk memory comprising computer-readable storage devices and/or memory; a block floating-point compressor formed from at least one of the processors, the block floating-point compressor being in communication with the bulk memory; and the computing system being configured to: with at least one of the processors, perform forward propagation for a layer of a neural network to produce first activation values (315, 316) in a first floating-point format, wherein each activation value in the first floating-point format has a mantissa value in a mantissa format and an exponent value; with the block floating-point compressor, convert at least one of the activation values to a second, block floating-point format to produce compressed activation values all sharing a same given exponent value by mapping activation value mantissas to a non-uniform mantissa format, wherein if the activation values in the first floating-point format have exponent values differing from the given exponent value, each mantissa value in the non-uniform mantissa format is shifted (345, 346) to ensure that the corresponding exponent value is the given exponent value, and wherein the non-uniform mantissa format maps a set of values of the mantissa represented by a number n of bits onto a smaller set of values represented by a number p of bits, p being smaller than n, thereby reducing the number of bits used to represent the mantissa; and with at least one of the processors, storing the compressed activation values in the bulk memory. with at least one of the processors, perform forward propagation for a layer of a neural network to produce first activation values (315, 316) in a first floating-point format, wherein each activation value in the first floating-point format has a mantissa value in a mantissa format and an exponent value; with the block floating-point compressor, convert at least one of the activation values to a second, block floating-point format to produce compressed activation values all sharing a same given exponent value by mapping activation value mantissas to a non-uniform mantissa format, wherein if the activation values in the first floating-point format have exponent values differing from the given exponent value, each mantissa value in the non-uniform mantissa format is shifted (345, 346) to ensure that the corresponding exponent value is the given exponent value, and wherein the non-uniform mantissa format maps a set of values of the mantissa represented by a number n of bits onto a smaller set of values represented by a number p of bits, p being smaller than n, thereby reducing the number of bits used to represent the mantissa; and with at least one of the processors, storing the compressed activation values in the bulk memory.