Over the past decade Deep Neural Networks (DNNs) have made substantial improvements in the fields of computer vision and natural language processing, with DNNs now surpassing human’s in image recognition on the ImageNet dataset(He et al., 2015). As the accuracy of state of the art DNNs has improved, model sizes and compute complexity has also increased. For example, AlexNet(Krizhevsky et al., 2012) uses roughly 60 million parameters and Facebook’s DeepFace(Parkhi et al., 2015) uses 120 million, requiring billions of operations. For low powered devices such as phones and edge devices, running inference on state of the art models poses a significant challenge due to their compute and memory requirements. Large models must be stored in off-chip DRAM where fetching model parameters from memory can become the dominant energy and time consumer(Han et al., 2016), and computation is dominated by expensive multiply-accumulate operations.
To combat this, prior work has explored trading accuracy for performance by using low precision weights and activations of a few bits, or even a single bit as is the case with Binarized Neural Networks (BNNs)(Rastegari et al., 2016)(Courbariaux et al., 2016). Low precision models are drastically smaller, greatly reducing the cost of fetching model parameters from memory. For example BNN models are up to 32x smaller than full precision models and can often fit in on chip memory (Rastegari et al., 2016). During compute intensive dense and convolution layers, multiplication can be replaced with cheap bitwise operations and popcount by computing in Hamming space, allowing for high performance inference.
While training low precision networks has received lots of interest in the research community and made steady progress towards improving accuracy(Zhou et al., 2016)(Cai et al., 2017), most work assumes low precision inference will result in a linear speedup over full precision and reference theoretical speedups based off of number of operations. However, achievable speedups are dependent on many factors including architectural support for matrix operations and software optimizations to effectively use the underlying memory subsystem and hardware instructions. Current deep learning frameworks leverage decades of prior work in optimizing linear algebra operations through libraries such as NNPACK(Dukhan, [n. d.]) and Intel’s MKL (int, [n. d.]) that optimize for both hardware backends and matrix properties, resulting in highly efficient floating point and integer operations. Naive implementations of bitserial operators can be slower than 8-bit integer and even full precision floating point implementations, partly because they lack optimized operator implementations.
In this paper we address the challenges of writing optimized low precision bitserial operators for CPUs. We introduce a work flow to quickly generate high performance low precision deep learning operators for arbitrary precision that target multiple CPU architectures and include optimizations such as memory tiling and vectorization. Specifically our contributions include:
A library of operators for quantization of floating point data, flexible bit packing, bitserial matrix multiply, and convolution.
An extensive case study of optimizing low precision operators for a low power Raspberry Pi 3B that can surpass state of the art hand written 16-bit kernels for 1-bit weight, 2-bit activation convolutions.
2. Background and Related Work
2.1. Low Precision Neural Networks
Low precision neural networks operate on weights and activations quantized down to a few bits, or a single bit in the extreme case of BNNs. These types of neural networks improve performance over full precision models by significantly reducing memory movement costs and computing using bitserial methods and can be deployed on existing hardware.
BNNs, such as XNORNet(Rastegari et al., 2016) and BinaryNet(Courbariaux et al., 2016) have achieved near state of the art results on datasets such as MNIST and CIFAR-10, showing that binarization works extremely well for relatively simple datasets. However, they preform significantly worse than full precision models for complex datasets like ImageNet, with accuracy degradations over 18% for XNORNet on ResNet18(He et al., 2016). To combat this, recent work(Zhou et al., 2016)(Hubara et al., 2016) has shifted to low precision networks which relax activation quantization to a few bits, while keeping weights binarized. Current state of the art low precision networks have made significant improvements in the accuracy. HWGQ(Cai et al., 2017) have shown that 1-bit weights and 2-bit activations models can achieve top-1 accuracy drops of between 5 to 9% on different models for ImageNet, including ResNet18 and GoogLeNet(Fromm et al., 2018)(Szegedy et al., 2015).
2.2. Bitserial Computation
While FPGAs and custom hardware can take advantage of arbitrary precision through custom datapaths (Umuroglu et al., 2017), most commodity hardware such as CPUs, have no support for low precision data types. Efficient handling of low precision data requires bit packing into a larger storage data type such as an 8-bit or 32-bit integer, and bitserial operations that compute on an implicit vector of packed quantized data.
We describe bitserial dotproducts as seen in previous work(Umuroglu and Jahre, 2017)(Zhou et al., 2016), starting first with binary case and extending towards higher precisions. A binary dot product between two vectors containing only elements of 0 and 1, can be computed by bit-wise anding the two vectors and counting the number of 1’s in the result using popcount, as seen in Equation 1
. If binary data is encoded in the bipolar format (-1 and 1), then bitwise xnor replaces bitwise and.
Binary dot products can be easily extended to preform bitserial dot products between an M-bit and N-bit vector, by computing the weighted sum of MN binary dot-products as described in Equation 2, where n and m refer to the bit position of x and y.
While bitserial dot products can be used for any precision inputs, its compute complexity grows linearly with the product of x and y’s bitwdiths as O(MN), so this technique is only practical for very quantized data. Equation 2 can be modified to support signed data by weighting binary dotproducts by their sign.
On CPUs low bit datatypes are not supported and data must be bitpacked to efficiently support bitserial computation and take full advantage of the hardware’s data path. This is achieved by splitting input vectors into individual bitplanes essentially creating B binary vectors. The binary vectors are then packed data into a larger storage type such as a uint32. Bitwise operations can be directly applied to the packed data, allowing low precision data to be efficiently stored and computed.
In Figure 1 we show an example of how bitpacking and bitserial computation work on a 2-bit, 1-bit dot product. Input data is first bitpacked by separating the bits of each element into separate bitplanes. Each bitvector is then compressed into a larger integer type, for simplicity a four-bit unsinged integer. Since bitwise operations have no carry chains, it can be preformed on packed data in an implicit vectorized fashion and take full advantage of the hardware’s data path. For example if data into a 32-bit integer, a single pair of popcount-and instructions computes the 32 element dot product.
3. Low Precision Operators
Low precision operators rely on efficient bitserial computation. We implement our operators using TVM, the deep learning compiler(Chen et al., 2018a). Our operators are designed to provide flexibility in precision and data layout, and performance portability across different CPU architectures. In Halide fashion, we provide (1) a declarative computation rule that describes the transformation of input to output tensors and (2) a separate schedule that contains the implementation of how to the data is transformed. We leverage TVM features to provide high-level architecture agnostic optimizations for parallelism and memory tiling. For CPU code generation, TVM uses LLVM, which we find produces adequate code. However, for further performance we implement architecture-specific mickrokernels that take advantage of unique hardware intrinsics that LLVM misses.
3.1. Preprocessing: quantization and bitpacking
In order to apply bitserial operators, both input activation and weight tensors need to be in the correct format which involves quantizing data to the desired precision and bitpacking them to the proper data layout.
Since bitserial operators compute on each bit of an element individually, the separate bitplanes, the set of bits for each bit position, of each input tensor must easily accessible. This is accomplished by a bitpacking step that transforms the input tensors into a bitpacked tensor. Elements of the packed tensor hold a single bit for many elements as opposed to all bits of a single element for the input tensor.
We provide a bitpacking operator that takes an arbitrary dimension tensor and returns a dimension bitpacked tensor, with a new bit axis addressing the bit-planes of the tensor. Though the bitpacked tensor has more dimensions its total size is smaller as multiple elements are packed along reduction axis into a single element. The tensor’s reduction axis is dependent on the layout and represents the axis along which elements are multiplied and accumulated against.
Our bitpacking operator is flexible with respect to input data layout and size. The user specifies the input tensor’s reduction axis and the bit-axis location and datatype of the packed tensor. For example, in Figure 2, we show an example of bitpacking matrix A, a 2-bit matrix, where is the reduction axis. The packed matrix can have layouts , , or .
The different layouts provide different types of data locality. When implementing bitserial operators, we found that flexibility in specifying bit position to be useful, as different bitserial algorithms rely on a specific packed layout For example, work in(Umuroglu and Jahre, 2017) relied an interleaved layout with B as the inner-most dimension while work in(Tulloch and Jia, 2017) required B to be the outermost dimension
3.2. Low precision operators and high level optimizations:
We implement a library of low precision operators for common neural network operations such as 2D convolutions and dense matrix multiply, for arbitrary CPU backends. These operators transform bitpacked tensor into standard format tensors in a higher machine supported precision. Using TVM we can leverage existing features of the compiler to cleanly describe our operator’s implementation and quickly add optimizations for memory access, parallelism, and more.
At the compute level we describe variations of bitserial convolutions that accept different high level data layouts such as NCHW and NHWC, and various convolution implementations such as lowering to matrix multiply and an efficient in place convolution modified from (Jiang et al., 2018), all parameterized for different precisions. Depending on the input’s shape and characteristics of the convolution kernel, different implementations preform better.
For each operator variation, we provide a generic schedule (described in section 4) for each these operators that creates moderately efficient code for any CPU backed that takes advantage of vectorization, tiling, and other CPU agnostic optimizations. While many of these techniques are well established and simple in theory, they are time consuming to implement, with some requiring re-writes of the entire implementation and tuning parameters such as tile sizes. Furthermore, many of these parameters do not affect performance independently and must be tuned together, leading to a large search space of parameters to find an optimal configuration. We take advantage of TVM’s auto-tuning capabilities(Chen et al., 2018b) to search for optimal or near optimal parameter configurations.
3.3. Architecture specific optimizations:
TVM relies on LLVM to preform code generation to the desired CPU backend. Since generating optimal code is a hard problem, unsurprisingly, LLVM tends to produce sub-optimal code. To approach or surpass the performance of the state of the art operator implementations, schedules can be augmented with handcrafted custom microkernels to implement the core computation. This allows us to take advantage of new hardware intrinsics many CPU vendors are releasing to accelerate deep learning such as pairwise addition instructions, as well as optimize low level memory loads and stores.
We create a custom ARM schedule (described in section 5) that takes advantage of specific hardware intrinsics to implement code that out-preforms state of the art hand optimized libraries. The custom schedule relies on highly optimized hand-generated microkernel.
4. CPU-Agnostic Schedule
In this section we describe the layers of optimizations that we explored when putting together our bitserial operator schedule template. We show a running example of how we add in optimizations, and show their effects on a Raspberry Pi running the 2nd layer of ResNet18 (see Table 1 for details), for a 1-bit weight 2-bit activation convolution. Figure 4 shows snippets of the unoptimized compute rule and the pseudocode it generates, and the final optimized compute rule and schedule. In Figure 3 we show speedups against an optimized 16-bit integer convolution as we add in each optimization, showing how we can take an unoptimized schedule that is 0.36x slower than the baseline and make it almost 2x faster. Many of these optimizations come from high performance computing techniques to improve memory locality and take advantage of parallelism and vectorization, but are necessary steps for achieving optimized low precision convolutions.
Tiling is a common optimization to improve temporal memory locality and reduce memory loads during matrix computations. Tiling splits input tensors into multiple sub-tensors or tiles, such that each tile fits in the cache to avoid evicting elements that will be reused.
TVM exposes functions to easily split and reorder computational axis without the user needing to manually edit for loops. In Figure 4a, we show how we apply tiling in TVM through calls to split, and reorder. The height, width, and channels of the output matrix are split into blocks of size VH by VW by VC elements, which can be tuned by TVM. Using reorder, the iteration order is updated so that computation is completed within each tiles.
After tiling, data is not fetched sequentially from input tensors as data is stored in row-order. A common trick to improve tiling’s performance further, is to repack input tensors in a hierarchical fashion such that elements within a tile are stored sequentially, and the tiles then stored in a sequential order. Repacking requires a change to the computation description and is shown in the optimized compute rule in Figure 4.
Loop unrolling replaces loops with copies of the loop statement, and improves performance by reducing the number of branches during program execution. This performance gains comes at a cost of increased binary size as instructions inside the loop are duplicated. Loop unrolling is easily expressed in TVM through the unroll scheduling primitive, and we apply it small dimensions such as the bit axis.
Vectorization takes advantage of hardware support for SIMD instructions, and applies each instruction to a vector of data elements. Calling TVM’s vectorize primitive on an axis provides a hint to the compiler to output vectorized instructions. In our schedule, we tell the compiler to vectorize the innermost computation axis, since it is stored sequentially on output tensor and kernel tensor, allowing for contiguous vector loads and stores. In the generated C code in Figure 4, single element indices are replaced with a ramp(n) expression representing a vector of n elements, or a vector made from n copies of a single element.
On the ARM Cortex-A53, this allows us to use ARM’s SIMD unit. The intrinsic popcount instruction, vcnt, is only available for SIMD instructions, so it is crucial for ARM devices to vectorize the binary dot product’s computation or else popcount is inefficiently implemented in software. On X86, the opposite scenario occurs and popcount is only available in scalar registers. However, we found the vectorized software popcount outperforms the scalar hardware popcount as confirmed by (Muła et al., 2017), and left vectorization in the generic CPU schedule.
We parallelize the outer most axis of computation by calling TVM’s parallel function, allowing us to take advantage of all four cores on the Raspberry Pi, so that the generic CPU schedule outperforms the baseline by almost 2x.
All of the optimizations described above (and a few more) are necessary to implement a high performance convolution implementation. Optimizing code is often time consuming to implement, and can significantly reduce the readability of code by through bloat from unrolling, and further nesting of loops from tiling. While we carefully decided the layout of data and which axes to tile, split, and parallelize, we rely on TVM to handle the time consuming process of generating the code, allowing us to quickly write moderately efficient schedules.
5. ARM Cortex A53 Specfic Convolution Schedule
The techniques described in the previous section are CPU agnostic, with the same schedule able to generate code for different CPU backends such as X86 and ARM. However, to reach the performance of hand optimized microkernels, schedules require architecture aware optimizations through back-end specific intrinsic instructions and human insight into efficient techniques.
In this section we describe two ways in which we optimize ARM specific schedules. The first, a modification to the code generator that is invisible to the user and overrides LLVM’s default popcount lowering rule. The second is an ARM specific tensorize primitive that implements a highly optimized bitserial matrix vector operation.
5.1. Custom ARM Popcount Lowering Rule
Analyzing generated assembly code revealed LLVM (TVM’s code generator for ARM and other CPU backends, version 5.0) inefficiently lowers popcount, requiring 14 assembly instructions to implement a 32 bit vectorized popcount. The inefficiency arises because ARM’s hardware popcount instruction, vcnt, operates at a granularity of 8 bits. When LLVM lowers a 32-bit vectorized popcount, it must reinterprets the input as a vector of 8 bit, and then sum four neighboring elements to reform the 32-bit bector. This default accumulation step is inefficient, requiring 13 additional assembly instructions.
We replaced the default lowering rule in TVM’s code generation for 32 bit vectorized popcounts with only 4 assembly instructions, by relying on a special intrinsic instruction, vpaddl, that performs pairwise adds in a larger datatype. Figure 5 shows the LLVM 32-bit popcount lowering rule as well as our custom rule.
This change requires no modifications to the schedule, and significantly speeds up the generic CPU schedule by 2.7x on the Raspberry Pi, for a total speedup of 5.4x over the 16-bit integer baseline.
5.2. Optimized ARM bitserial matrix vector inner loop
In order to surpass the performance of hand-optimized code we analyzed code from Caffe2’s ultra low precision library(Tulloch and Jia, 2017) and gemmbitserial(Umuroglu and Jahre, 2017). We identified patterns TVM currently cannot express such as vectorization along a reduction access, and low-level tricks the code generator misses, and wrote an efficient bitserial matrix vector multiply micro-kernel. We packaged the micro-kernel into tensorize primitive, which we parameterize for flexibility in activation/weight precision. Our tensorize primitive can be used in any ARM schedule, and we use it for all our ARM specific convolutions and matrix multiply schedules. However, it requires tiling input tensors such that to match vector lengths and relaying out inputs tensors such that tiles are stored contiguously.
Figure 6 gives a simplified example of how our tensorized primitive behaves and the assembly code it generates. It preforms 4 bitserial dot products and optimizes accumulation and write back steps in a tree reduction fashion allowing for vectorized loads and stores on all tensors.
We summarize the optimizations the code generator missed. We note that in high performance computing, it is common to in line assembly for performance critical sections, such as inner-loops of computation, and TVM provides a method to mimic this.
Accumulation in small datatypes:
In order to prevent saturation of values the output of a low precision operation needs to be stored in a larger data type such as an int16 or int32 depending on the size of inputs tensors. TVM’s code generator promotes inputs to a larger datatype after a single operation; however, multiple operations can be safely accumulated before moving up a storage size. Our tensorize primitive takes advantage of this by accumulating 8 bit integers until overflow is possible and then extending accumulation to 16 bit.
High level patterns:
Programmers are very good at writing code that follows high level patterns, such as the tree reduction patterns. In general compilers fail to preform high level optimizations such as this, since most optimizations occur between a small localized regions of code.
After adding the tensorized reduction to our inner-loop our low precision convolution schedule preforms almost 7x faster than the optimized 16-bit baseline, with the final 1.6x coming from ARM specific optimizations to the convolution schedule (see Figure 3).
We preform an analysis of our low precision bitserial operators on two CPU backends, a low-power Raspberry Pi with an ARM Cortex-A53 processor and a high-end x86 Intel i7-4790K processor. The ARM Cotex-A53 is a four core 1.2 GHz processor and belongs to the ARM-V8 architecture, while the X86 machine is a 4.0 GHz four core processor with eight hyperthreads.
Note throughout the evaluation section when referring to our low precision operators we will adopt the naming convention from (Umuroglu and Jahre, 2017) and refer to an x-bit weight and y-bit activation operation as WxAy. For all our experiments we include the cost of bitpacking activations with the quantized operations, but not the cost of bit-packing weights, since we assume weights can be bitpacked ahead of time.
6.2. Raspberry Pi Results
6.2.1. Matrix Multiply
We benchmark the performance of low precision matrix multiplication, which makeup the computation of dense fully connected layers, against an optimized 8 bit integer implementation in TVM, for three various precisions of W1A1, W1A2, and W2A2. Note the same schedule is used for all precisions, though tiling parameters have been tuned separately. To prevent saturation of results the outputs of both the 8-bit baseline and quantized operators stored a larger storage type, with the 8-bit baseline accumulating in 32-bit integers, and the quantized results accumulating in 16-bit integers.
In Figure 7, we plot speedup relative to the 8-bit baseline. As expected, the W1A1 preforms significantly better and is up to 11x faster than the 8-bit baseline. The performance dropping steadily for higher quantization levels, with max speedups of 6.3x and 3.1x for W1A2 and W2A2, scaling roughly with the product of bitwidths.
|2||conv2d||56, 56||64,64||3, 1|
|3||conv2d||56, 56||64,64||1, 1|
|4||conv2d||56, 56||64,128||3, 2|
|5||conv2d||56, 56||64,128||1, 2|
|6||conv2d||28, 28||128,128||3, 1|
|7||conv2d||28, 28||128,256||3, 2|
|8||conv2d||28, 28||128,256||1, 2|
|9||conv2d||14, 14||256,256||3, 1|
|10||conv2d||14, 14||256,512||3, 2|
|11||conv2d||14, 14||256,512||1, 2|
|12||conv2d||7, 7||512,512||3, 1|
Configurations of 2D-convolution operators in ResNet-18. Layer 1 is omitted as input channel depth is too small to allow efficient packing. H/W for height and width, IC for input channels, OC for output channels, K for kernel size, S for stride size.
Convolutions makeup the bulk of image recognition neural networks. In this section we benchmark our low precision operators on layers 2-12 of ResNet18 (see Table 1 for information). We omit the first layer, as most low precision networks preform the first layer in full precision. In Figure 9, we plot the speedup of three low precision convolutions (W1A1, W1A2 and W2A2), against an optimized 16-bit integer baseline(Jiang et al., 2018), that experiences negligible accuracy degradation compared to full precision floating point. Our results show significant speedups over the baseline reaching 25x, 13x, and 8x speedups for W1A1, W1A2, and W2A2 respectively. It should be noted layers 3, 5, and 8 show poor speedups. However, these layers preform an order of magnitude fewer operations than other layers, indicating bitserial computation does not scale well for small problems that can’t amortize the bit-packing costs.
Additionally, we compare our low precision convolutions against the current state of the art implementation, Caffe2’s ultra low precision library(Tulloch and Jia, 2017) that was written specifically for ARM v7/v8 architecture and in lines calls to ARM NEON intrinsics We verified their results that the inner-most loop of computation reaches about 70% peak theoretical performance for binary operations, assuming a vectorized instruction can be issued every cycle.
In Figure 8, we plot the speedup of our low precision implementations against theirs. The Caffe2 library currently only supports W1A2 operations and is single threaded, therefore we show a single threaded implementation of our code for fair comparison a multi-threaded implementation to highlight the maximum speedup we can achieve using parallelism.
Our single threaded implementation preforms roughly 2.3x better than the baseline. It should be noted that we preform significantly better on layers 5, 6, and 11, which are 1x1 convolutions with a stride of 2 that the baseline did not optimize well. Our implementation preforms 1.6x better when we omit these layers. Since we modeled our tensorized inner-loop after their code, both implementation emit roughly the same assembly code for the inner-most loop. We attribute our single-threaded speedup to selecting better tiling parameters by using TVM’s autotuning infrastructure, and the use of efficient in-place convolution that results in less memory duplication than the convolution lowering strategy the baseline implemented.
6.2.3. Bitserial Limit Study
We preformed a low precision limit study to analyze how performance scales with increasing precision of weights and activations. In Figure 10 we report speedup for all combinations of one to four bit activations and weight convolutions against the 16-bit integer baseline from section 6.2.2. We preform this study on Layer 9 of ResNet18 as it responded best to quantization.
Our results confirmed that computation scales roughly with the product of bitwidths, as the W1A1 convolution preforms 14.4X faster than W4A4. We also see the value of memory reuse as W1A4 and W2A2 have the same computational complexity, but the W2A2 preforming 1.3x better as we experience better data reuse among the bit planes.
We benchmark our low precision operators on layers 2-12 of ResNet18 (see Table 1 for information) on X86 as well. Since we have not implemented any X86 specific schedules these results are for the generic CPU schedule. We compare our results against an optimized 32-bit floating point baseline implemented in TVM. These schedules are optimized to take advantage of X86’s AVX2 vectorized operations and were contributed by engineers at Amazon. We do not compare against any hand optimized bitserial kernels as we currently do not know of any, perhaps due to X86 lack of a vectorized popcount instruction.
In Figure 11 we plot the speed up of three low precision convolutions (W1A1, W1A2 and W2A2), against the full precision baseline. Our generic CPU schedule preformed moderately well achieving a average speedups of 5.38x, 2.73x and 1.69x on W1A1, W1A2, and W2A2 respectively. Similar to the Raspberry Pi, we see a wide range of speedups across the layers, with peak speedups twice the average speedup, indicating some layers respond better to low precision than others.
To conclude we detailed the modifications we made to TVM to implement low precision DNN operators for CPUs, emphasizing support for arbitrary low precision quantized neural networks. We provide a library of flexible compute operators such as bit-packing and quantized bitserial convolutions and matrix multiply, that users can re-use or write develop custom schedules for.
We then used these operators to preform an extended case study on optimizing low precision bitserial convolutions for the Raspberry Pi, and showed that by using a custom schedule we could out-preform a hand optimized 1-bit weight 2-bit activation convolution kernel by 2.3x on the layers of ResNet. Furthermore, our 1-bit weight 2-bit activation end-to-end Raspberry Pi inference achieves a speedup of 3.3x over a full precision implementation.
We would like to thank Yaman Umuroglu for his help guiding us, and Andrew Tulloch for letting us use his microkernel and providing feedback. This work was supported in part by a Google PhD Fellowship for Tianqi Chen, ONR award #N00014-16-1-2795, NSF under grants CCF-1518703, CNS-1614717, and CCF-1723352, and gifts from Intel (under the CAPA program), Oracle, Huawei and anonymous sources.
- int ([n. d.]) [n. d.]. Intel Math Kernel Library. Reference Manual. Intel Corporation. Santa Clara, USA. ISBN 630813-054US.
- Cai et al. (2017) Zhaowei Cai, Xiaodong He, Jian Sun, and Nuno Vasconcelos. 2017. Deep learning with low precision by half-wave Gaussian quantization. arXiv preprint arXiv:1702.00953 (2017).
- Chen et al. (2018a) Tianqi Chen, Thierry Moreau, Ziheng Jiang, Haichen Shen, Eddie Yan, Leyuan Wang, Yuwei Hu, Luis Ceze, Carlos Guestrin, and Arvind Krishnamurthy. 2018a. TVM: End-to-End Optimization Stack for Deep Learning. arXiv preprint arXiv:1802.04799 (2018).
- Chen et al. (2018b) Tianqi Chen, Lianmin Zheng, Eddie Yan, Ziheng Jiang, Thierry Moreau, Luis Ceze, Carlos Guestrin, and Arvind Krishnamurthy. 2018b. Learning to Optimize Tensor Programs. arXiv preprint arXiv:1805.08166 (2018).
- Courbariaux et al. (2016) Matthieu Courbariaux, Itay Hubara, Daniel Soudry, Ran El-Yaniv, and Yoshua Bengio. 2016. Binarized neural networks: Training deep neural networks with weights and activations constrained to+ 1 or-1. arXiv preprint arXiv:1602.02830 (2016).
- Dukhan ([n. d.]) Marat Dukhan. [n. d.]. NNPACK. https://github.com/Maratyszcza/NNPACK. ([n. d.]).
- Fromm et al. (2018) Josh Fromm, Shwetak Patel, and Matthai Philipose. 2018. Heterogeneous Bitwidth Binarization in Convolutional Neural Networks. arXiv preprint arXiv:1805.10368 (2018).
- Han et al. (2016) Song Han, Xingyu Liu, Huizi Mao, Jing Pu, Ardavan Pedram, Mark A Horowitz, and William J Dally. 2016. EIE: efficient inference engine on compressed deep neural network. In Proceedings of the 43rd International Symposium on Computer Architecture. IEEE Press, 243–254.
- He et al. (2015) Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. 2015. Delving deep into rectifiers: Surpassing human-level performance on imagenet classification. In Proceedings of the IEEE international conference on computer vision. 1026–1034.
et al. (2016)
Kaiming He, Xiangyu
Zhang, Shaoqing Ren, and Jian Sun.
Deep residual learning for image recognition. In
Proceedings of the IEEE conference on computer vision and pattern recognition. 770–778.
- Hubara et al. (2016) Itay Hubara, Matthieu Courbariaux, Daniel Soudry, Ran El-Yaniv, and Yoshua Bengio. 2016. Quantized neural networks: Training neural networks with low precision weights and activations. arXiv preprint arXiv:1609.07061 (2016).
- Jiang et al. (2018) Ziheng Jiang, Tianqi Chen, and Mu Li. 2018. Efficient Deep Learning Inference on Edge Devices. (2018).
et al. (2012)
Alex Krizhevsky, Ilya
Sutskever, and Geoffrey E Hinton.
Imagenet classification with deep convolutional neural networks. InAdvances in neural information processing systems. 1097–1105.
- Muła et al. (2017) Wojciech Muła, Nathan Kurz, and Daniel Lemire. 2017. Faster population counts using AVX2 instructions. Comput. J. 61, 1 (2017), 111–120.
Parkhi et al. (2015)
Omkar M Parkhi, Andrea
Vedaldi, Andrew Zisserman, et al.
Deep Face Recognition.. InBMVC, Vol. 1. 6.
- Ragan-Kelley et al. (2013) Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Frédo Durand, and Saman Amarasinghe. 2013. Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines. ACM SIGPLAN Notices 48, 6 (2013), 519–530.
- Rastegari et al. (2016) Mohammad Rastegari, Vicente Ordonez, Joseph Redmon, and Ali Farhadi. 2016. Xnor-net: Imagenet classification using binary convolutional neural networks. In European Conference on Computer Vision. Springer, 525–542.
- Szegedy et al. (2015) Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich, et al. 2015. Going deeper with convolutions. Cvpr.
- Tulloch and Jia (2017) Andrew Tulloch and Yangqing Jia. 2017. High performance ultra-low-precision convolutions on mobile devices. arXiv preprint arXiv:1712.02427 (2017).
- Umuroglu et al. (2017) Yaman Umuroglu, Nicholas J Fraser, Giulio Gambardella, Michaela Blott, Philip Leong, Magnus Jahre, and Kees Vissers. 2017. Finn: A framework for fast, scalable binarized neural network inference. In Proceedings of the 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. ACM, 65–74.
- Umuroglu and Jahre (2017) Yaman Umuroglu and Magnus Jahre. 2017. Towards efficient quantized neural network inference on mobile devices: work-in-progress. In Proceedings of the 2017 International Conference on Compilers, Architectures and Synthesis for Embedded Systems Companion. ACM, 18.
- Zhou et al. (2016) Shuchang Zhou, Yuxin Wu, Zekun Ni, Xinyu Zhou, He Wen, and Yuheng Zou. 2016. DoReFa-Net: Training low bitwidth convolutional neural networks with low bitwidth gradients. arXiv preprint arXiv:1606.06160 (2016).


text:
doily and vintage buttons
The last few weeks I have cut down on my blogging, days have been busy with school activities, half term holiday outings and general running around like headless chickens. Today I will share with you some of the little treasures I have found in the last few weeks. Some may call this modest hoard junk but it is all bits and pieces of things that I will use to craft dolls, monsters, jewellery and whatever else takes my fancy.
key and cog collection, almost too pretty to craft with
This weekend started with going to Cromford to the little festival that took place on Saturday. After the mystifying and quite frankly terrifying sight of a prancing unicorn-man I spied a sign that read 'Garage Sale' and a little arrow. I blinked twice and we turned around and went to find two little garage sales down the road from each other. I bought some doilies, a vintage chain, an airplane pin (for H) and two bags of toy filler all for the princely sum of £1. I may possibly have been quite giddy at this point as you just don't see garage sales here... ever. From Cromford Mill the previous week I managed to find a lovely letterpress tray that will be going up on the wall in Harrison's room to display lego figures (it was half filled with them about ten minutes after we got it home.
vintage baking tin, watch parts, keys and other treasure from Wirksworth
Last weekend we went to Wirksworth, it was late in the afternoon and we missed out on the farmer's market but still had fun roaming around the antique, chocolate and charity shops. I bought a vintage sea shell cake tin, from the vintage rooms. A little rusty, dusty and there was a bit of burned black cake left in it too, but it sits on my desk full of the bits and pieces that inspire me and I will be working with to create new dolls and monsters. After that Harrison and I explored an antiques shop that looked more of a hoarder's home then a shop, boxes piled high bursting at the seams and a little old chap running the place that I swear walked straight out of and 80s fantasy movie. I found buttons and vintage watch parts that made my little heart sing as they were exactly what I needed to finish the Steampunk Red Riding hood doll.
treasures from Banana junk Warehouse in York
While Harrison was on his half term break we went up to York for the day, we had a ball roaming the walls and streets and I was allowed an hour to rifle through the junk in Banana Warehouse. I found a little wooden box, more vintage buttons, vintage measuring tape, a large spool of orange thread and a mother of pearl belt buckle (which was similar to one in Duttons button shop that cost more than I paid for everything I found.
Lego treasure beyond compare
On rare Sunday morning when the day is clear and Matt isn't rushing off to a wedding or a wedding fair we sometimes go rummage around Tansley Car Boot sale. It's bleak up on the fields where the car boot and market are held but the view is outstanding. On the last trip up we found a stash of lego, vintage ladybird books and a crystal growing kit. Treasure for everyone.
Pork pie tins from Cromford Days
doilies, buttons and vintage chain from a garage sale!!!!
letterpress printer's tray from Cromford Mill
I'm linking to Apron Thrift Girl for her fab Thrift Share Mondays and Her Library Adventures' Flea Market Finds
Now back to the reality of sorting out all of my craft supplies. I'm decluttering and getting rid of various bits of fabric and beads that I won't use, so that I have room for more of the things that I do use. So that totally means I can thrift more right? I'm also hoping that by tidying and sorting things out it will inspire me to get one with crafting, writing and listing said crafts in my poor little etsy shop. I'm hoping I will have a few sales and be able to order some new moo cards and pluck up the courage to exhibit my crafts at a real craft fair. *wibble*

domain: artistic


text:
The Edge lies between worlds, on the border between the Broken, where people shop at Walmart and magic is a fairytale–and the Weird, where blueblood aristocrats rule, changelings roam, and the strength of your magic can change your destiny…
Cerise Mar and her unruly clan are cash poor but land rich, claiming a large swathe of the Mire, the Edge swamplands between the state of Louisiana and the Weird. When her parents vanish, her clan’s long-time rivals are suspect number one.
But all is not as it seems. Two nations of the Weird are waging a cold war fought by feint and espionage, and their conflict is about to spill over into the Edge—and Cerise’s life . William, a changeling soldier who left behind the politics of the Weird, has been forced back into service to track down a rival nation’s spymaster.
When William’s and Cerise’s missions lead them to cross paths, sparks fly—but they’ll have to work together if they want to succeed…and survive.
Even though I had really enjoyed Ilona Andrews’s Kate Daniels series as well as the first Edge book, On the Edge, I wasn’t particularly eager to read Bayou Moon. The synopsis didn’t really grab me and I’m not a big fan of sequels which take place in the same world as previous books but with different characters. Often it’s the characters that appeal to me more than the world and if they aren’t around I don’t have much interest in reading a book in the same setting (though there are a few exceptions to this). But after reading only positive reviews of Bayou Moon my curiosity was piqued and I decided to go ahead and read it despite my initial lack of enthusiasm.
And for the first couple of chapters of the book I wasn’t sure if I would actually continue on since I was having a bit of trouble getting interested in the story. I vaguely remembered William from On the Edge (though, to be honest, all my memories of On the Edge were pretty vague by now) and was impatient while he, and the story’s female lead, Cerise, were each introduced and their backgrounds laid out for us, but once all that was out of the way I quickly lost myself in the story and ended up enjoying it a lot more that I had expected to.
Bayou Moon was definitely a darker book than I remember any of Andrews’s other books being, and I think the authors pulled it off well. Several urban fantasies that I’ve read over the past year have made the attempt to add more serious and “edgy" content to their books, such as rape and torture, but ended up failing (in my eyes, at least) due to their unconvincing execution. Their protagonists walk away from being tortured barely affected or respond to mind-boggling horror with implausible temerity, which ends up discrediting the whole book for me. And so I particularly appreciated the fact that the characters of this book did respond in a believable manner to those difficult situations that they encountered, and I didn’t have any desire to throw the book at the wall in frustration.
William and Cerise are two really interesting characters who I slowly came to like by viewing each of them from the other’s eyes. William is a little off-the-rocker, his personality often shifting from that of a crazed wolf to a sexy but clueless man, and occasionally showing glimpses of a cold and ruthless killer. William was a little too unstable to appeal to me but he is perfect for Cerise who is actually attracted to William’s wildness and the fact that he is one of the few men who are not afraid of her. And while most men are wise to fear Cerise, who is deadly with her sword and flashing power and is not afraid to fight dirty, William finds these traits appealing. So while both Cerise and William are a little-off kilter, by seeing inside their heads I came to understand and like each of them and to appreciate what they saw in each other, which is different from the way I usually respond to book characters.
As in On the Edge, Andrews included a whole cast of side characters who captured my affection as much as the central characters did. The whole crazy Mar family is pretty fabulous and I would love to read more about them, even though I had trouble keeping track of all the different family members. Though my favorites were Cerise’s cousin Kaldar, a roguish and charming thief with an interesting talent, and Cerise’s tough but vulnerable younger sister who believes herself to be a monster. Even Cerise’s life-long enemies are given the opportunity to be viewed from an inside perspective that gains them some reader sympathy, despite their actions against our protagonists.
The only character that I felt didn't get enough attention as I would have liked was the real villain of the story who was effectively frightening and sinister but could have been a lot more interesting if we got to see into his head a bit more.
I really enjoyed the atmospheric setting of the story, which takes place in a swamp, between the non-magic world of the Broken and the magical Weird. But I was disappointed that we still didn’t get to see much of the Weird, even though this is already the second book in the series.
My only real complaint about Bayou Moon is that it goes on just a little too long and the momentum of the story kind of frizzles out towards the end. Most of the story is focused on Cerise’s rescue of her mother after which she turns to the task of finding her father, which ends up being a rather rushed affair. I think the story would have benefited by being balanced a bit better with equal attention given to the different events that took place.
After finishing Bayou Moon I have to say that it far surpassed my expectations and I think I enjoyed even more than I did On the Edge. I found the characters to be more interesting and complex and the romance didn’t take over the story quite as much. In the future I will certainly not hesitate to pick up any other books in this series and I highly recommend it to any readers of fantasy.

domain: literature


text: Teaberry or Wintergreen (Gaultheria procumbens) is very easy to find in the Pine Barrens because of its bright red berries. The berries are an especially attractive and tasty treat for animals and humans alike. Birds and deer love to eat them, and most berries will be devoured by Spring when their flavor reaches its peak. The berries and the oil of Wintergreen have historically been used in many products. Because of their sweet refreshing taste, the berries were used as flavoring for the original teaberry chewing gum. The oil of Wintergreen was also used to flavor gum, candy, bad tasting medicine and as a scent in soap and candles.The oval leaves are thick, dark green and shiny and can be boiled for a very tasty tea. The fresh leaves also have a very pleasant flavor when chewed. The plant has been used as an astringent, a stimulant, a diuretic, an anti-rheumatic and as a cure for aches and pains because it contains a chemical closely related to aspirin. This is truly a renaissance plant! And for our added pleasure, from June until August, the delightful creamy white, bell shaped waxy flowers can be found hanging downward beneath the leaves.

domain: biology


The MRI-1 Ventilator is a small animal ventilator designed for use in MRI and other high magnetic field environments. The system comprises a microprocessor-based control unit and a set of remote, pneumatically operated, non-metallic valves. The MRI-1 can operate by itself or can be controlled and/or monitored by a computer.
The MRI-1 operates on the flow-time principle: an inspiratory airflow is established and gated into the animal for a known time, thus producing a known volume. This approach provides extraordinary flexibility — a wide range of volumes, breaths-per-minute, and I/E ratios are possible with no hardware changes, and using just three front-panel controls.
Respiratory airflow is provided by an internal airpump. Alternatively, an external pressurized gas source can be attached (oxygen or anesthetic gasses). The remote high-speed, miniature pneumatic valves do the actual airflow switching. By locating these valves close to the animal (including inside the magnet bore if necessary), dead-space and tubing compliance are minimized.
- MRI compatible ventilator
- Non-magnetic pneumatic valves (XS, S, & M sized valves available depending on weight of animal)
- Dependable all-electronic ventilator
- Wide tidal volume and rate range
- Mice to Monkeys (up to 10kg with appropriate valve & accessories)
- Safe with oxygen and anesthesia
- Direct readout of volume and rate
- Easy to set up
Technical Specifications ;
- Respiratory rate range: 5 – 200 breaths/min
- Inspiratory flow range: 60 – 1000ml/min
- Inspiration/Expiration (I/E ratio) range: 20 – 80%
- Tidal volume range: 0.1 – 30ml
- Manual control functions: HOLD (suspends inspiration), MAN (manual inflation)
- LCD panel: 4 lines x 20 chars, backlit
- Indicator lights: INSPIRATION, LOW PRES WARNING, ERROR
- Internal airpump capacity: 4 lpm
- Pneumatic valve switching speed (air actuation): < 75mS
- Pneumatic valve switching speed (Helium actuation): < 55mS
- Pneumatic valve actuation pressure: 3 – 5 bar
- Pneumatic valve flow orifices: 0.080 in. (2.0mm)
- Pneumatic valve materials: PTFE body, non-metallic fasteners, one non-ferrous coil spring
- Dimensions, main unit: 9W x 5.5H x 9D in. (23 x 14 x 23cm)
- Dimensions, pneumatic valve (each, of two): 1.0 dia x 1.8 long, in. (47 x 25mm)
- Port connections, respiratory and pressure functions: 0.125″ (3mm) ID Tygon tubing
- SYNC OUT connector: BNC
- Data Port connector: DB-25S
- Power requirements: 120/240V (switchable), 100VA
AD-5000 Digital Anaesthesia System
The AD-5000 Digital Anaesthesia System incorporates a unique and clear touch control screen giving the operator a full range of practical features including precise and simultaneous flow control in the range of 0.5 to 2.5 L/min to 2 breathers and 1 induction chamber. The exclusive flow circuit allows the user to choose any combination of outputs while the digital flow control automatically adjusts for the correct flow rates. The induction chamber and breathing circuits include an elapse timer for accurate monitoring to prevent over exposure to the subject.
EZ-SA800 Single Animal System
The EZ-SA800 Single Animal System accommodates animals ranging in size from neonate mice to rabbits and is designed for anaesthetising one animal at a time. It has 2 valves that enable anaesthesia output to be directed to the induction chamber and/or the breathing circuit.
SAR-1000 Advanced Volume-Pressure Ventilator
The SAR-1000 Volume-Pressure Ventilator operates as a volume or pressure-cycled ventilator for mice, rats and guinea pigs and an optional upgrade is available to accommodate rabbits. VOLUME mode delivers a fixed tidal volume on each breath, and PRESSURE mode causes inflation to stop at a preset airway pressure. In either mode, lung inflation is maintained at the end of inspiration until the percent inspiration (%Insp) time has elapsed.


text:
Expired Full-service flights to London from $901 return. All departure cities under $910 return!
Cor blimey, what a deal! Get over to London with a few quid to spare with these sale fares from Royal Brunei and Philippine Airlines. Travel in October to November 2018.
$901 Return Melbourne to London Flights. Click Here for more travel dates.
$904 Return Sydney to London Flights. Click Here for more travel dates.
$910 Return Brisbane to London Flights. Click Here for more travel dates.
Flights to London - All Other Departure Cities.
Need a place to stay in London? Check out all our deals on London Hotels
Flights from Melbourne are operated by Royal Brunei and involve brief layovers in Bandar Seri Begawan, Brunei. Flights from Sydney and Brisbane are operated by Philippine Airlines and involve layovers in Manila – some overnight, depending on departure city and dates chosen. Book a hotel and do some sightseeing – Australian passport holders can enter the Philippines without a visa. Both Royal Brunei and Philippines Airlines are full-service carriers, so these fares include checked luggage and in-flight meals.
Can I use my own dates? Yes - just click the link closest to your preferred dates and then change the dates once the search has completed.
These prices won’t last long. Usually a few days but sometimes much shorter. If you click the sample dates and the prices have gone up it unfortunately means the sale has ended.

domain: geography


text:
Creating your bakery’s ‘signature’: supply and support
1-2-Taste’s Jasper Schouten speaks with ingredients suppliers about market trends, product innovation, best practices, supplier challenges, and more.
How can your bakery survive and thrive in a market dominated by several large, international producers, as well as plenty of small local competitors? To stand out from the crowd you need your own signature – and product innovation holds the key. Jos Vast of Bakery Academy, Peter Naylor of IMAG Organics, Egbert Sonneveld of Blonk Quality Ingredients, Henk Bijl of Trigona Dairy Trade and Charif Geara of Nexxus Foods sat down with 1-2-Taste to share their insights into the baker’s journey from idea to market launch.
Like every business today, smaller bakeries are struggling with the double-whammy of higher energy costs and the supply chain crisis. But while larger bakeries can often use their purchasing power to source what they need at the best price, their smaller counterparts don’t have that advantage. And that’s a big hurdle when you want to create and develop a new, innovative product.
A challenge? Absolutely. Impossible? Definitely not! The consumer trend towards ‘healthier’ products, for example, offers plenty of opportunities to create your own signature around innovative products using ‘alternative’ ingredients. Agave syrup to reduce sugar, teff flour for gluten-free or high-protein baked goods, non-dairy butter that lets you meet the increasingly important vegan market…
In our podcast, Jasper and the suppliers discuss the SME bakery’s journey to a successful new product, following five steps:
Developing the concept
What trends should you explore when developing your new products? On the one hand, you can look into functional innovations, such as increasing the shelf life of your products, or maintaining the same shelf life with fewer ingredients or e-numbers. Or you can focus on new types of products: Jos Vast sees a bakery trend for crackers, which attract customers as a tasty, lower-calory snack than sweet biscuits. Decide first what you want to do, then search out ingredients that you can use to do it.
Creating a winning prototype
To make the best use of new ingredients, turn to your suppliers for insight. As Peter Naylor explains, agave syrup, for example, comes in several colours. Darker versions offer the most flavour, but they can also affect the colour of your product. Which one works best for your prototype? ‘Alternative’ products can also have benefits you might not have considered – but the supplier has! Agave, for example, can also increase fibre, act as a prebiotic, and even replace some fat in your products, for spongier cakes and crispier biscuits.
Going to market
The average time between creating a sample and launching a product is 122 days – but that doesn’t always match your supplier’s situation. As Egbert Sonneveld explains, his company always keeps enough teff stocks for a customer’s first product launch. But when you want to make it a permanent part of your offering, they need to plan capacity further ahead. He also explains that timing is key: aim for a product launch in fall or winter, when consumers are more interested in new bakery products.
Getting the best supplier contracts
Ingredient costs are always a challenge for SME bakeries, and when you are innovating, you are often turning to ingredients that aren’t commodities, particularly with alternative ingredients. Henk Bijl offers a case in point: ‘vegan butter’ contains many more ingredients than the dairy original – and that will affect the pricing. Your best bet is to find at least three suppliers, so you can be sure to get the best price.
Ensuring a robust supply chain
The final challenge is balancing your ingredient inventory: enough to meet customer demand, while keeping costs low. This requires suppliers who can get you the ingredients you need, when you need them. Charif Geara explains that you should find a supplier who will work with you on this. During the pandemic, for example, when it became clear that there were global issues with supply, his company worked directly with their customers to figure out how much they should keep in stock.
1-2-Taste can help you overcome your supply challenges, with a wide portfolio of ingredients; transparent, competitive pricing; an interface that makes it easy to find suppliers and order; minimal order quantities; and technical product development support.
Don’t add an ingredient just because someone says you should.
– Jos Vast, Bakery Academy
The first ingredient sample is to give it a try; the next is to work out additional ideas.
– Egbert Sonneveld, Blonk Quality Ingredients
Product appearance gets the first purchase, but taste brings the customer back.
– Peter Naylor, IMAG Organics
For innovative vegan products, look at the supermarket private labels.
– Henk Bijl, Trigona Dairy Trade
Base your new products on the function you want and the tools you have.
– Charif Geara, Nexxus Foods
1-2-Taste Talks Food Ingredients Podcast Series
Bakery – Creating your own Signature
Coming up with signature products is essential in the marketing of your bakery business. Right now, consumers are looking for food with substance. They want products that tell a story; that create an experience. For bakers, this gives a unique opportunity to innovate with food ingredients. It’s a way to set your brand apart, creating your own signature with bread or cakes or, well, almost anything

domain: food


text:
Love Logo Template. Cute Flying Bird Inside a Heart
Beautiful Logo of bird in a heart. Perfect for love bird, community, social chat, social talk, Charity, bird app or any other business.
Logo is 100% vector based logo, so you can adjust font, color, some elements in the design or the size as you like.
• AI file & EPS file
• CMYK color, 100% Vector
• Text, Color and logo is easy editable
• Link to Download Font Include in readme file

domain: design


Former civilian governor of Kaduna State, Alhaji Balarabe Musa has said that there would be massive protest by Nigerians if the forthcoming general elections are shifted again.
The Independent National Electoral Commission (INEC) had earlier shifted the 2015 general elections from February 14 and 28 to March 28 and April 11 respectively, citing the inability of security agencies to guarantee security as one of the reasons.
However, speaking with newsmen yesterday, shortly after a meeting of the national executive committee of Peoples Redemption Party (PRP), Musa who is the national chairman of the deregistered party said election could hold with or without the insurgency in a small portion of the country.
He warned that powers-that-be should not take Nigerians for a ride, saying that no Nigerian is a slave just as the country does not belong to any group of Nigerians.
He said, “If election is shifted again, majority of Nigerians will oppose it. They will demonstrate against it, Nigerians will come out massively to oppose it because another shift will not be in their interest. Another shift will mean that government wants to remain in power.
“If therefore a six weeks delay is the sacrifice which Nigerians have to make to ensure that every registered voter is given an opportunity to exercise (or not to exercise) his constitutional right to vote, so be it. But Nigerians cannot tolerate shifting of election dates anymore.
“We will not tolerate another shift because we are not any body’s slaves, we are free people, and this country is free, this country belongs to all of us. It does not belong to a clique.
“The continuation of Boko Haram activities is not an excuse to shift election again because Boko Haram is occupying less than 14 percent of Nigeria, we can tolerate this. We should conduct election in spite of the insurgency. The moment we can have free, fair and transparent election, leading to eligible government in the country, even Boko Haram will respect such government, and they will go to a negotiating table. It is unfortunate that to contest a presidential election in this country, one needs N50 billion to use for campaign. So I believe that both Jonathan and Buhari must have respectively raised the money. They are contesting, so they must have the money.
“None of them should deceive himself that he cannot get the money. Both of them are in power both at the state and federal levels. PDP has the federal government and 21 states, and APC has 14 states, so they are in government.
“The situation in the country has continued to nosedive and the impact of this on the material well being and circumstances of the mass of our people continue to bite very hard. All of this is happening in the midst of unabated and unmitigated profligacy, institutionalized stealing of public resources and the political unaccountability of the ruling class represented principally by the chieftains of the People’s Democratic Party, (PDP) and its shadow ‘opposition’ the All Progressives Congress, (APC).
“When we turn to the security situation in the country, matters are not better. Again things remain as bad as they were if not worse. Boko Haram continues to wax strong in spite of all the exaggerated claims by President Jonathan and his security chiefs that they are on top of the situation.
“For us in the PRP and other parties and organizations in the Credible Alternative Alliance (CAA) the postponement of the elections was necessary and inevitable, not for the security excuses proffered by INEC, but because of the poor handling of the distribution of Permanent Voters Card (PVC) by INEC.
“This is because the right to vote is an entitlement protected by the constitution of the country and so cannot simply be wished away, expunged or nullified by any measure whatsoever, administrative or otherwise, emanating from any government agency and certainly not INEC.”


text:
Hold the dog toys please! As an old dog with little interest in toys now, I just got a jump on spring cleaning!
It feels good to share.
Yep, we washed over a dozen dog toys and gave them to our local San Francisco rescue Grateful Dogs Rescue. They don't have a shelter but a nice network of foster homes. Sometimes a foster family hasn't cared for a dog in a long time. Now there is a big bag of toys waiting, with one I'm sure they will like to have.
It's nice to know my old toys bring squeaky joy to other dogs. I kept a few but this is better than having so many just getting dusty in my toy basket. It's Christmas in February!
If you want to contribute too, or be a foster parent visit --
Where did the year go?! It's week fifty two of celebrating fabulous senior dogs! Did you enjoy our photo project? We hope you enjoyed getting to know the sweet senior dog known as Cleo, and her many moments as a old dog in the city. Life is good when we realize the human-animal bond is real.
Continue sharing the power of the human animal bond with us
You can sign up for our mailing list so you can get goodies delivered to your inbox. We've lots of boards on Pinterest celebrating the human-animal bond, and you'll find us also on Instagram sharing life in the city. You can also subscribe to the Grouchy Puppy Blog.

domain: pet


text:
Lavani Jewels Serendipity Earrings
- Colour: Aquamarine, Green, Pink, Purple, Grey.
- Stones: Malachite, Rose Quartz, Amethyst, Chalcedony
- Finishing: 24 carat gold.
- Closing: Traditional nut.
- Size: 5.0 cm.
- Weight: From 10 to 15 gr.
Collection: The Esenzia collection is our new Spring/Summer 2018 collection. With a classic line and inspired by nature, it's your must-have collection to be the perfect guest.
Stones: Malachite is a stone that crystallizes in the form of striations. It is a mineral formed by copper deposits, forming nodules or radiated masses. As a curiosity, archeological finds from the clothes of the pharaohs used to include malachite.
Chalcedony is a cryptocrystalline variety of quartz. Of volcanic origin, with multiple varieties and colors. In ancient times it represented the elements air and water. It is the stone of generosity, harmonizes body and mind. It has deposits all over the planet, being the most important in Brazil and India; and in Spain, in Galicia and Aragon.
Amethyst is a quartz of magmatic origin that has been known for thousands of years. It was already used to make jewellery in ancient Egypt. It symbolizes divine wisdom. It is characterized by its violet color, which can be more or less intense depending on the amount of iron contained in the stone. It is most commonly found by covering the interior with agate in the form of geodes.
Rose quartz is a variety of quartz. We can find it mainly in Brazil, and in Spain, in Galicia and Cáceres. It is the stone of unconditional love and infinite peace. Quartz crystals break with vitreous fracture, so it is important that it contains fractures to ensure its authenticity. Titanium oxide and manganese are mainly responsible for the pink tint.
Materials and Qualities: We design and make jewelry of the highest quality. All our pieces are handmade, with first quality materials, Plating of 2 to 3 microns of gold of long duration and natural stones.
We work every day to offer versatile, original and elegant design pieces, but above all, we want to offer jewellery with the best possible quality and durability.
- Patented Design
- Certified Gold-Plated
- Sustainable Production
- Piedras Naturales
Earrings inspired by chestnut leaves, adorned with multiple semi-precious stones inside, which bring luminosity to the face.
Item will be delivered in 3 - 5 business days. Shipping costs will vary depending on the destination. Rates will be calculated during the checkout.
We offer a 14 days return policy on full price items. All Items that were purchased with a discount code are not eligible for a refund and can only be exchanged on a case by case basis. Note that returns are handled directly by our brand partners. To receive instructions from the brand you can fill out the returns form in the footer of this page up to 14 days after your products were delivered. After receiving your returns, the money will be refunded to you. Please remember: the items should be unwashed, unaltered and unworn and in the original packaging. Cosmetic products are not eligible for a refund if the original packaging was opened.
About LAVANI JEWELS
Lavani Jewels is based in Valencia, Spain and creates unique designer jewellery for the modern woman. Cristina is the founder and Creative Director and she uses her innovative ideas to make the beautiful designs come to life. Lavani Jewels believe that the jewellery you wear should reflect your personality, style and history. This is why they create pieces designed to be worthy of the woman who wears them. The pieces offered by Lavani Jewels are contemporary creations, with care for the small details of the jewellery and a commitment to natural stones, high quality materials and authentic handcraft. Lavani Jewels combine style and spirit in their creations to portray femininity in all its complexities. The pieces are sculptural and unique but fundamentally timeless, so that it can remain your staple piece for a long time.


text:
The Women of the World Poetry Slam brings Austin a spoken-word contest that's about more than scores
Every slam poet has a conversion story. For Lacey Roop, it all started with an open-mic poetry night at the Hideout Coffeehouse, where she was studying for a macroeconomics exam. A business major and "super-jock" from small-town Mississippi who had recently transferred to Texas State University, she had little creative outlet at the time. Intrigued, she soon found her way to her first poetry slam, a competitive spoken-word performance in which members of the audience score poets and determine the winner.
Having played basketball in high school with three future WNBA players, Roop was no stranger to adrenaline, but her first slam was like nothing she'd seen before. "It was like listening to rock & roll the first time," she says. "You're like, 'What is this? How have I not experienced this before?'"
Five years later, business school is a distant memory for the dreadlocked, gravel-voiced Roop, whose agile, soaring performances of her own intricately woven poems have earned her rankings at all three national slam competitions. Her favorite competition every year, however, is the Women of the World Poetry Slam. And this year, it's in her backyard.
This week, WOWPS brings 72 slam poets, all women, to Austin for a four-day extravaganza of spoken-word competitions, daytime workshops, and late-night events culminating in a final championship bout at the Paramount Theatre. Billed as the largest international women's poetry competition, the slam pits local and regional female champions against one another – including Roop, who will represent Austin Poetry Slam, and Ebony Stewart, who will represent Austin Neo-Soul Lounge. This is the seventh annual WOWPS, and the first held in the southern U.S., much less Austin.
We're ready for it. With two weekly venues packing houses regularly and two indie presses devoted exclusively to publishing spoken-word poetry, Austin is known for a slam scene that is consistently strong and unusually supportive. Gutsy performers such as Roop; Ebony "Gully Princess" Stewart, who took the Best Slam Poet award at the 2011 National Poetry Awards; Zai Sadler, a hip-hop artist and WOWPS alternate; and Tova Charles, the nationally ranked poet organizing the slam locally, have played a crucial role in that scene, as has Neo-Soul poet La-Love Robinson, who's hosted the quarterly spoken-word event Spitfest for a decade. These poets not only have impeccable creds, they also help knit together two scenes, the Austin Poetry Slam and the Neo-Soul Lounge; many of them are regulars at both slams, and have repped for both at the national level.
"The awesome thing about our scene is, we do have a lot of males," says Charles, "but they respect our voice, the female voice." Case in point: Roop and Stewart were the first two poets to be published by Kevin Burke's Timber Mouse Press.
Nevertheless, since construction worker Marc Smith held the first slam at the Get Me High Lounge in Chicago in 1984, slam has been something of a testosterone-fueled endeavor. That's what gave Deb Marsh, WOWPS' "founding mother," the idea for an all-female slam in the first place. "I'd been involved in poetry slam since the early Nineties, and I noticed, as a performer and an audience member and an organizer, that women's voices, because they're softer and quieter, were not equally represented on the stages through the poetry slam events we were hosting. The guys just took up more space." Marsh felt that adding a women's-only slam to the roster of national competitions would level the playing field, allowing more women to compete.
Karrie Waarala, current executive director of Poetry Slam Inc. which hosts all three national competitions, says that despite women's growing participation, competitions such as Individual World Poetry Slam and National Poetry Slam still tend to favor the more aggressive male performers. "Women sometimes feel like their work may connect with audience members, but not in a way that scores. The audience can be liking it, but as soon as we turn it into the competition, when you hand them the score cards, something seems to shift a little bit, in the poetry that gets rewarded."
Competition is at the core of the poetry slam, however, and not everyone was enthusiastic about a gender-segregated competition. The PSI forums exploded with lively debates, many of the most negative comments coming from women who were worried that a women's-only slam would weaken the perception of female poets and blunt their competitive edge. Marsh recalls being asked, "What's next for us, special ed?"
Meanwhile, supporters pointed out that the slam community, despite its inclusive stage politics, could, in practice, be a hostile place for women. Marsh recalls specific incidents that had generated concern at a national level, one of which occurred at a National Poetry Slam in Austin: "We had a guy actually do a rape poem and mention a woman's name in the audience, a poet on another team." Poets Rachel McKibbens and Tatyana Brown, both of whom will be in Austin for WOWPS, have written about sexism and sexual harassment in the slam scene. These can feel especially threatening at national slams, where women are generally outnumbered, Marsh says. "Women don't travel nearly as much from venue to venue, state to state, because it's not as safe for a woman to be alone in the car driving around, or they have children. There are lots of reasons."
Ultimately, though, even Marsh was surprised by the overwhelmingly positive response to the first WOWPS – not only from performing poets, who routinely cite it as their favorite competition of the year, but from male attendees and volunteers.
When asked to describe what makes WOWPS different from other slams, ordinarily articulate poets stumble to find the right word. "What I love about it is you have this – a lot of sisterhood, I guess. Motherhood," Roop says. "I've been to all of them, and I've seen the energy and felt the energy in the room. It's different. It's just different."
"It's more than just the competition," says Charles. "I've been at the IWPS, and people don't cheer for each other. At WOWPS, everyone's cheering you on. The scores matter – but they don't."
Robinson points to the commonality of experience that lends a solidarity to the subject matter. "You have a lot of common ground – mothers, rape victims – women who have been through the same things."
There are also mentoring opportunities. Charles says, "With my own work, what matters to me the most is my body, because for years it has not been seen as a body, it's been seen as property, it's been seen as someone else's property. So it's very important for me to talk about that, and talk about that for younger women, to feel like they're not alone in that." Charles herself is most excited about the workshops, which will include sessions taught by past WOWPS champions McKibbens and Dominique Christina, a workshop by Denise Jolly on art that involves the body, and a one-woman show by Albanian poet Gypsee Yo.
Aside from the warm fuzzies, however, proponents of WOWPS believe that the setting allows for more diverse and riskier performances, strengthening the quality of the poems overall. "We see different types of poetry, women taking risks onstage that they might not in other competitions," says Waarala. "You can make the audience lean in a little bit."
In a world where women are often the ones told to lean in, that's an empowering feeling. As Stewart, a pint-sized powerhouse of a poet who describes her own style as "beasty," said of her slam conversion moment, years ago: "I got three minutes, you know what I mean? I got three minutes, and you have to listen to me."
The Women of the World Poetry Slam 2014 runs through March 22 at various locations around Austin. For a complete schedule, visit www.wow.poetryslam.com


With DELEC AeroSpace connectors, you can now benefit from a large variety of solutions that make connecting easy. Delec Aerospace connectors enable modular machine designs which make them highly compatible in many different combinations. Whether you need to connect power, signal or data - or all combined - these connector solutions provide a custom solution for your application. With their plug-and-play concept these connectors enable easy and quick installation, as well as easy replacement of defective parts – even for non-electricians. The assembly is possible without any tools and is particularly easy due to innovative concepts like the crown clamp, which allows the shielding mesh to remain uncut. With the innovative quick locking system, DELEC Aerospace connectors drastically reduce installation time and the risk of failures during installation. Thanks to their reliable performance, the connectors also help reduce downtime, making your motor applications more productive.


text:
Everyone has the opportunity to make a change in the world. We go to college in order to make a difference in our lives and in others. The only problem is, we find excuses. We see the opportunities available and think to ourselves “I should get involved” but then we don’t. Why? Maybe it is because it involves traveling and we can’t afford that. Maybe it involves weekly meetings that our academic schedule doesn’t leave time for. Maybe we want to help others but simply do not know how to begin. Luckily, RESULTS offers what you are trying so hard to find and more.
Western Carolina University held the “Darrah Carr Irish Dance” on Thursday, March 10 in the Bardo Arts Center. “Darrah Carr” is a team of dancers that mixes traditional Irish step dancing with a unique take on contemporary tap dancing.
The performance started out with the basic Irish step dancing everyone is likely familiar with and as the performance progressed it became more intricate and intimate with its delivery. There were even humorous moments in the dances,giving what could be a typical tap dance some flavor.
It was the great inventor Henry Ford who said, “Whether you think you can, or you think you can’t, you’re right.” This quote has inspired comedy hypnotist Eric Mina to follow his dreams.
Whether it’s playing mind tricks in Australia, reading thoughts in Las Vegas or performing comedy hypnosis in Times Square, Mina’s understanding of the human mind astounds audiences worldwide. His presence is all encompassing and his show is a side-splitting, mind-boggling event that will leave you believing your dreams are possible.