dataesr/scientific-paragraphs-categorization huggingface dataset:
The domain is partitioned with a regular grid and the alternative is active where the magnetic field is constant. The grid overlay in the figure corresponds to the ACR cell granularity. A cell is the data partition always sharing the same alternative. The code generated by the compiler controls the values of the magnetic field inside these cells to choose whenever the computation should be disabled or not. We show in Section 4 that implementing this dynamic optimization strategy may simply be a matter of specifying few ACR extensions. Contributions: This paper introduces the ACR language extension set to enable approximate computing techniques by annotating compute-intensive parts of an application. We introduce these extensions in detail, and their effects to the application. We present the mathematical model on which we build our solution along with the code transformations and algorithms used to exploit our extensions.
In the first example, the type system was enhanced with new keywords. A defined variable can be approximated  [2]  or accessing the variable be atomic with respect to the C11 extensions, i. e. accesses are safe between concurrent threads. The second example specifies a function reliability metric which states that the output precision for the function f must be at least as precise at 90% of its input parameter  [3]. The last example provides additional control flow constructions where the number of iterations and stride of a for loop are determined by the compiler, at runtime, from an accuracy metric using information from a training dataset  [4]. Specialized libraries are available in multiple domains and help developers by reuse of an existing code base. A library's interface consists in prototypes of functions that the developer may call.
Application specific metrics are available, e:g. image and video processing have Peak-Signal-to-Noise-Ratio (PSNR) and Structural Similarity Index Measure (SSIM)  [11] , physics based simulations use energy conservation as a metric  [12]  and machine learning algorithms are validated against preprocessed datasets  [13]. The developer should be able to select the best suited metrics for the problem at stake. While the two previous points are crucial in order to use the right approximation methods and error metrics, the developers have yet to use these approximation techniques in their programs. Three main possibilities are available. Given that the developers are comfortable with approxima-tion techniques, the first option is to write the application from the start with approximation in mind.
Code transformation functions are applied to the dependency polyhedron which is formerly checked for the absence of backward dependency, i. e. a value from a statement is used before it has been computed. When there is no such backward dependency, the transformation is said to be legal. Code generation translates the domain polyhedron and its associated optimized schedule to a programming language representation. The task is handled by a code generator, e:g. CLooG  [20] , that produces an imperative AST from the polyhedral representation. The new generated AST scans the iteration domain following the new schedule defined by the optimization phase. Code generation can also optimize the control overhead by lifting, whenever possible, the control statements outside the loop. Thus aspect is particularly important in our context (see Sect.
With a static strategy, the compiler can generate an optimized code at compile time with approximated computation embedded inside the kernel. The approximation remains the same during the whole application execution. The regions to be approximated are marked by the Fig. 8. Adaptive Code Refinement grammar. The ACR grammar declares simple to use language extensions for approximate computing. The alternative defines a modification of the code to express various approximate blocks or statements. The strategy links these alternatives to a constant value for adaptive selection and applies them globally or restricted to an area when defined at compile time. The monitor serves as the link between the functions that pre-process and compute the strategy values at runtime and the data used to take a decision.
3. 1. 1). Hence, the compiler can instrument the code to update the precision whenever a modification of the monitored data occurs. At the price of storage capacity, the compiler has the ability to select the adequate approximated code version to execute at a cell level granularity. Adaptive Code Refinement does not allow the compiler to break data dependencies between the remaining iteration instances to limit the deviation of the results. When the loop carries a dependency between iterations, the potential schedules are constrained. In the context of ACR, this constrains the order in which the tiles are scanned. If automatic parallelization is applied, further dependency relaxations could unlock more parallelism at the price of larger deviations. For instance, Figure  10  presents the dependence graph that shows a dependency carried between the monitored cells.
Static code generation The first step of the compilation process raises the code to optimize to the polyhedral representation (see Sect. 2. 3). Clan and pet  [38, 39]  are state-of-the-art front-end tools that transform a high level language into an equivalent polyhedral representation. Clan is a standalone application and library and pet is a library integrated into clang, the C/ C++ LLVM compiler suite's front end. The output format consists of information on parameters and on every statement present in the kernel. Each statement S i 2 S, where S is the set of kernel statements, it holds the following associated information gathered from the input program (see Sect. 2. 3): -The context polyhedron, which is the information gathered about the constant parameters. -The iteration domain. -The scheduling.
To generate the grid borders, we add a new dimension D n without any constraints and set the dimensions D j to be a multiple of each point a 2 D n times the GridSize. We project the newly created dimension D n out and what remains in D j is the multiple of the grid size. The operation is repeated with GridSize À 1 to capture the left border of the cells. The ''step'' is handled in the same way as 'interface-compute' but with a multiple of the step instead of the grid size. The second function, ApplyAllAlt, iterates over all alternatives linked to a strategy and applies the alternatives in the order in which they are defined. The following helper functions are used by the code generation algorithm. These functions are implementations of regular search algorithms and linear algebra functions found in the literature  [40].
In this naive implementation the control overhead is high because of the internal guard. Each dark Fig. 11. From polyhedral to code. CLooG polyhedral code generation algorithm applied on the union of two alternative statement domains. The dimensions are processed one after the other recursively. The first dimension to be generated is the outermost loop (left). Then the second loop dimension is generated on the last two domains (center and right). The algorithm stops when there is no remaining domain to generate. The dynamic method requires a just-in-time compiler to be able to generate a specialized version of the code during the execution of the program. We choose to implement the runtime as a shared library that can be loaded whenever the program encounters a dynamic optimized section. At compile time, the compiler adds a call back to the library functions responsible for the compilation management.
A fast lane using Tiny C Compiler (TCC) that has a fast JIT but has low code optimization capabilities and a second lane with the GCC compiler which is an order of 10-50 times slower but applies efficient code optimizations. Fig. 13. Code Generation Approaches. This figure presents the result different code generation approaches original situation depicted in part (a). The top of the figure shows the code's iteration domain, where white points are executed while black points are not. Arrows represent the execution ordering. Under the iteration domain is a representation of the grid state. The approximation strategy is the following: in the black grid cell, no iteration is executed, in the grey grid cells, one iteration of the k-loop is executed and on the white grid cell, two iterations of the k-loop are executed.
ACR is used with the static code generation technique. The maximum deviation of the result is 4. 29%. It was observed for the biggest data set of the benchmark which leads to a speedup of 1. 54. The approximation tends to work better for larger datasets as the number of settled observations grows in correlation with the problem size. However, to use this approximation technique we needed additional information and construct a new structure to hold it. With the ACR extensions, we successfully leveraged this information to generate a specialized version with a low computational kernel version to achieve a valuable performance gain.
The application skips the cluster assignment complex function whenever an observation has settled for more than seven iterations within the same cluster. In that case, it is assigned to the same cluster it was at the previous iteration. Table  1  shows the averaged results obtained from runs on multiple input problems and data sizes. Our technique achieves significant speedup while keeping the deviation of the result relatively low. The proportion of cells per alternative remained equal for smaller and bigger datasets, while runs on big datasets tend to have a better response to ACR's adaptive methods. We believe that this difference comes from cache and memory latency effects. Different problem statements do not react equally to the same set of alternative parameters. We are working on an auto-tuner that explores the parameters space to better guide the developer in this task.
These techniques along with ACR allow for optimized usage of the available resources and architectural specificities of the hardware. Language Extensions: Language extensions give new opportunities to relax or extend the semantics of existing programs. OpenMP annotations relaxe dependency constraints to allow the compiler to generate a parallel version of the program  [1]. Similarly, the ACR extension set relaxes constraints to allow for approximate computing. Automatic compiler techniques for approximation purpose take advantage of in-language annotations to generate an approximate version. Ansel et al. provide annotations for the data flow language PetaBricks  [4]. They use a feedback loop with a genetic algorithm which randomly alter some statements. The program's output deviation is analyzed and the approximation parameters are autotuned against a user provided dataset.
EnerJ provides type system annotations in order to reduce the overall system power draw with the help of approximation techniques  [29]. EnerJ also formalizes the semantics of a program executing on approximate datatype or code portions to isolate them from ordinary code sections. With Green, developers specify the maximum acceptable deviation of result for loops and procedures  [60]. Their framework provides a statistical guarantee that the value computed by the application will follow the quality of service requested. These previously mentioned techniques use a feedback loop to automatically alter the program semantics and check the output deviation against nonmodified training dataset. Bornholt et al. provide an uncertain datatype and operations to manipulate this object  [61]. Eon provides a language and runtime system that integrates hardware information, e:g.
Conclusion Adaptive Code Refinement language extension set provides approximation and adaptive capabilities to existing languages through specific annotations to be exploited by both a compiler and a runtime system. While being less invasive than writing an optimized code manually or using dedicated libraries, these extensions allow a software developer to annotate a computational kernel to transform it to an efficient and adaptive approximate version. ACR's annotation system is well adapted for a two phase software development workflow. First, the developer focuses on the development and validation of the main algorithm. Then, in the optimization phase, the algorithm is optimized to scale to large datasets using approximation techniques. With the help of ACR extensions and a compiler supporting them, the software developer can quickly evaluate various approximation strategies easily.
Approximation techniques are achieved, e:g. , with algorithmic tuning or removal of computations in selective conditions. Such possibilities are offered by ACR's alternative construct for a new level of flexibility and productivity. The alternatives can be enforced globally using static strategies or dynamically depending on the dynamic state of the data. ACR builds on the polyhedral representation of programs to generate monitoring and approximated code with low control overhead and limited deviation of the results. Furthermore, ACR's runtime includes several mechanisms for the user to control the precision. We evaluated the expressiveness of the ACR extension set on various example applications, from fluid simulation to signal processing and data mining. The strategies were implemented on top of their compute intensive kernels with few ACR extensions and low or no modification of the original programs.
All ACR-extended code show speedups at the price of a reasonable loss in precision. ACR language extension set opens up new possibilities for software developers that need to exploit approximation to trade precision for speed. It allows for fast testing and prototyping of multiple approximation techniques. To the best of our knowledge, ACR is the first language extension set dedicated to approximation that covers such a wide range of approximation strategies. Ongoing work includes mixing approximation with polyhedral optimization and parallelization techniques, improving ACR's runtime and extending ACR annotations with data compression capabilities to reduce memory footprint and adapt computation accordingly.
Bacteria were first observed in bright field through a 100× Zeiss Ultrafluar objective with a 1. 25 numerical aperture that requires glycerin immersion. Afterwards, the samples were illuminated by a 270-nm monochromatized synchrotron beam, which was used as the excitation source. The fluorescent signals were collected by a PIXIS 1024 BUV camera (Princeton, United States) in the spectral ranges 327-353 nm (Filter I, OMEGA Filters United States) and 420-480 nm (Filter II, OMEGA Filters, United States) during 90 s of integration time. In addition, to increase the signal to noise ratio, images were recorded with binning of the pixels (2 × 2) in µManager software  (Edelstein et al. , 2010) , used to control the whole setup. For each condition, two independent quartz coverslips with at least three different locations, covering a minimum of 200 bacterial cells, were investigated to validate the consistency of the observations.
The images were analyzed using FIJI software (ImageJ, NIH)  (Schindelin et al. , 2012). A set of specific FIJI macro scripts was developed to standardize the analysis (see Supplementary Material 1). Electron Microscopy of E. coli and L. lactis Bacterial Cells Subjected to TiO 2 For scanning electron microscopy (SEM) observations, TiO 2exposed (test concentration of 320 µg/mL) and non-exposed E. coli K12 MG1655 and L. lactis IBB477 bacterial cells were harvested by centrifugation (5000 g, 5 min, room temperature), washed twice with phosphate-buffered saline, fixed and colored with a 2. 5% glutaraldehyde + 0. 04% Ruthenium red solution in sodium cacodylate buffer (0. 1 M, pH = 7. 4) for at least 4 h at 4 • C. Cells were made to adhere on poly-lysine coated coverslips and washed in distilled water prior to dehydration in graded ethanol series.
ACKNOWLEDGMENTS The authors wish to thank  Marie-Pierre Duviau  ( LISBP, Toulouse, France ) for her technical assistance in bacterial cell cultures. DUV imaging of TiO 2 -exposed vs. non-exposed bacteria was performed at the  DISCO beamline of Synchrotron SOLEIL (France)  as part of the research project number  20131260. They wish to thank  Florian Chain ,  Claire Cherbuy ,  Françoise Rul  ( MICALIS, Jouy-en-Josas, France ), and  Patrick Grysan  ( LIST, Belvaux, France ) for their technical help and fruitful discussions on Synchrotron SOLEIL experiments and NanoSIMS50 experiments, respectively. Hervé Robert  ( ToxAlim, Toulouse, France ) is gratefully thanked for his help in the data statistical analysis and  Cezary Bieńkowski  ( Software Engineer, Warsaw, Poland ) for his contribution to writing the FIJI macro scripts for data analysis after DUV fluorescence imaging.
Acknowledgements The work of  Mejdi Azaiez  and  Tomás Chacón  has been partially supported by the  Spanish Government -Feder EU  grant  MTM2015-64577-C2-1-R. The work of  Juan Casado-Díaz  and  François Murat  has been partially supported by the  Spanish Government -Feder EU  grant  MTM2014-53309-P.
This corresponds to an exploration in MAB terms; in other terms, previously acquired information is not exploited for the choice, but another arm is "explored", and its estimate is updated. muUCB1 inherits from UCB1 the rule for the arm selection: when the arm k I ND with the highest index corresponds to the one with the highest reward estimate, k EST , the selected action is use. When the arm with the highest index is not the one with the highest reward estimate, the selected action is measure. This choice creates an ideal correspondence between measure and exploration on one hand, and use and exploitation on the other. The pseudo code of the algorithm is reported in Algorithm 1.
Synthetic Data Synthetic data were generated according to three different distributions for the reward PDF, that are the most used ones in MAB literature: • Bernoulli distribution; • truncated (to non-negative values) Gaussian distribution; • exponential distribution. Two different configurations were considered for the reward mean values (or success probabilities, when considering the Bernoulli distribution) µ k , k = 1, • • • , K: • Hard configuration: µ 1 = 0. 6, µ 2 = 0. 8, µ 3 = 0. 1, µ 4 = 0. 3, µ 5 = 0. 7; • Easy configuration: µ 1 = 0. 2, µ 2 = 0. 8, µ 3 = 0. 1, µ 4 = 0. 3, µ 5 = 0. 1. The best arm is therefore arm number 2 in both configurations, but, in the Hard one, three different arms have similar mean rewards, making it easier for algorithms to erroneously pick a sub-optimal arm.
Real Data As for the captured data, the same datasets used for tests presented in  [17]  were used, since they were made available by the authors. Data consist in the latencies measured when visiting Internet home pages of 760 universities, with 1361 measured latencies for each home page. Latencies are measured in milliseconds, and are provided in the form of a 1361 by 760 matrix, where each column represents the latency measured in collecting a data sample from one of the webpages. Table  1  presents an excerpt of the data in the form of a 5 by 5 submatrix; the full data set can be downloaded from  [24]. Table  1. Excerpt from the data used in  [17] , downloaded from  [24] ; data express latencies measured in milliseconds. These data, even if captured through a single cabled network, can represent the performance that different wireless networks offer; they are therefore particularly interesting for the test of the muMAB model, whose aim is to better fit real world scenarios.
Laser power (5%), pinhole size (0. 1), and scanning speed (one frame per second) were kept constant for all experiments. To investigate the intratumoral infiltration of CD14 þ cells, tumors were isolated from the control mice as well as those treated with multiple doses of 100 mg/mL LPS or LPS-NP. The tumor was fixed in 4% paraformaldehyde for 24 h, embedded in paraffin, and vertically cut in 4 mm cross-sections, which were subsequently stained with 10 mg/mL FITC-labeled antimouse CD14 (eBioscience) and 300 nM DAPI (Sigma-Aldrich) overnight, in a humidified chamber at 4 C. The cross-sections were mounted on slides and examined using inverted Nikon Eclipse Ti CLSM as previously described. The extent of intratumoral infiltration of CD14 expressing cells was semi-quantitatively assessed by measuring the average percentage of the stained surface area in 10 different fields obtained from various areas of three tumor cross-sections using Image J V R software (NIH Image J system, Bethesda, MD).
Statistical analysis Statistical analysis of the in vitro experiments was performed with GraphPad InStat3 (GraphPad Software, La Jolla, CA). The comparison of data points with the control was conducted using One-way Analysis of Variance (ANOVA) followed by Dunnett Multiple Comparison test. Unpaired t-test with Welch correction was used to compare the cytokine induction profiles. Significance levels included p <. 05 ( Ã ), p <. 01 ( ÃÃ ), and p <. 001 ( ÃÃÃ ). In vitro dose-response fitting and LC50 calculation was performed using Origin Lab V R version 8 (OriginLab Corporation, Northampton, MA).
Funding This work was partially supported by a  French Government  grant managed by the  French National Research Agency (Agence Nationale de la Recherche)  under the  program 'Investissements d'Avenir'  with reference  ANR-11-LABX-0021. M. A. Shetab Boushehri  is grateful to  German Academic Exchange Service (Deutscher Akademischer Austauschdienst, DAAD)  for financial support [personal no. A/11/96409 ].
However, limitations inherent to the rover instrument suite prevented further characterization of the silica, including opal type and water content. At Gale crater, the Curiosity rover landed with new instruments dedicated to geochemistry and mineralogy. On its traverse toward the lower slopes of Mt Sharp, the rover explored a sequence of fluvial, deltaic, and lacustrine sedimentary rocks  (Grotzinger et al. , 2015). Weak signatures of hydrated silica were identified from orbit using CRISM data in some patches within the sedimentary rocks of Mt. Sharp but were not directly on the path taken by the rover  (Fraeman et al. , 2016; Seelos et al. , 2014 ). Yet silica enrichments were observed in situ by the rover in an outcrop of finely laminated mudstone within the Murray formation: a drill sample collected in the mudstone and analyzed by CheMin, the X-ray diffraction instrument, revealed ~14 wt% tridymite, of likely detrital origin, along with ~60 wt% of silica-rich amorphous phases  (Morris et al.
, 2017a). The objective of this study is to investigate the characteristics of the silica phase observed at Gale crater. In contrast with previous studies  (Frydenvang et al. , 2017; Morris et al. , 2016; Yen et al. , 2017) , we focus on the amorphous silica phase and combine data from the ChemCam instrument with DAN and SAM to assess its nature. We first focus on ChemCam data and determine the specific calibration of the hydrogen signal with opals using the instrument's laboratory replica. Then the results are applied to the Mars data set and compared with data from the other instruments.
LIBS Data Collection and Processing Each sample was analyzed by LIBS at three locations to test homogeneity of samples. For each location a series of 150 shots at 3 Hz was acquired to test the shot-to-shot variability of the hydrogen signal. As discussed in  Rapin et al. (2017a)  the first 30 shots can be used to compare with standard Martian data, which is acquired using series of 30 shots on each point. In addition, the five first shots are discarded to avoid effects related to the surface on the hydrogen signal, as described in  Rapin et al. (2017a). This is also a standard protocol for Martian data processing, as the five first shots help clean the ubiquitous dust cover present on rocks naturally exposed at the surface  (Maurice et al. , 2016). Therefore, the LIBS signal used for each analyzed location is the average spectrum of 25 shots from the 5th to 30th.