43 research outputs found
Recommended from our members
Vectorization of an applicative language: Current results and future directions
The most important and challenging problem facing researchers today is the effective use of parallel processors. Few would deny that the biggest obstacle is the inadequacy of current software tools -- an inadequacy born of imperative programming. As an alternative, applicative and functional programming languages provide a cleaner and simpler parallel programming model. They hide architectural idiosyncrasies, guarantee determinancy, enforce software engineering principles, and in many ways simplify compilation. Regrettably these languages have acquired a reputation for inefficiency. In this report, we show that applicative programs do not require special hardware for efficient execution, and with little effort can automatically exploit concurrent and vector processors. 17 refs., 1 fig., 5 tabs
An evaluation of residual contamination by Clostridium botulinum in a trout farm following an outbreak of botulism in the fish stock
Development of Botulinal Toxin and Sensory Deterioration During Storage of Vacuum and Modified Atmosphere Packaged Fish Fillets
Toxin production by C. botulinum type E was studied in cod, whiting, and flounder filets packaged in air‐permeable film, vacuum packages and packages flushed with N2 or CO2 during storage at 8°, 12° or 26°C. Cod and whiting filets were flushed with CO2 and stored continuously at 4°C or cycled between 4° or 8° and 26°C. Cod and whiting fillets were flushed with gas mixtures and stored at 8°C or 26°C. Flounder deteriorated rapidly and was rejected by sensory evaluation prior to toxin detection during vacuum or modified atmosphere storage at 12°C and 8°C but after toxin detection at 26°C. Toxin was present either prior to or simultaneously with sensory rejection of cod and whiting fillets for all vacuum or modified atmosphere treatments and temperature regimens
On Code Generation for Multi-Generator With-Loops in SaC
Abstract. Most array operations in Sac are specified in terms of socalled with-loops, a Sac-specific form of array comprehension. Due to the map-like semantics of with-loops its loop instances can be computed in any order which provides considerable freedom when it comes to compiling them into nestings of for-loops in C. This paper discusses several different execution orders and their impact on compilation complexity, size of generated code, and execution runtimes. As a result, a multiply parameterized compilation scheme is proposed which achieves speedups of up to a factor of 16 when compared against a nai"ve compilation scheme. 1 Introduction Sac is a functional C-variant that is particularly aimed at numerical applications involving complex array operations. To allow for a fairly high level of abstraction, Sac supports so-called shape-invariant programming, i.e., all operations/functions can be defined in a way that allows array arguments to have arbitrary extents in an arbitrary number of dimensions. The main language construct for specifying such array operations is the so-called with-loop, a form of array comprehension adjusted to the needs of shape-invariant programming. In [20] it has been shown that the array concept of Sac is suitable for specifying reasonably complex array operations in a shape-invariant style. It has also been shown that such specifications can be compiled into code whose runtimes are competitive with those obtained from rather low-level specifications in other languages such as Sisal or Fortran
