dataesr/scientific-paragraphs-categorization huggingface dataset:
While samples S13 and S17 did present a considerable discrepancy even at low cIT-QC frequencies, these were mostly due to their aforementioned anomalous behaviors. A summary for the main parameters yielded by each software tool can be found in Table  1. In summary, this work produced an add-on to Vidjil that makes it capable of properly processing immune repertoire NGS libraries prepared using the EuroClonality-NGS protocol. The 63 clonotypes analyzed yielded highly concordant results (r = 0. 998 and RMSE = 0. 115) when compared to ARResT/Interrogate in the cIT-QC original publication. Integration into a local Vidjil installation requires only the addition of two files to the software file structure, as well as the addition of a new process configuration on the web application. In addition, the add-on will also be available in the official Vidjil server in a future release.
CONFLICT OF INTEREST STATEMENT The institution Centro Infantil Boldrini is a part of the VidjilNet Consortium. Florian Thonier is a developer in the Vidjil team. accession number PRJEB32195 (https://www. ebi. ac. uk/ena/browser/ view/PRJEB32195)  [12]. The files used are listed in the spreadsheet cIT-QC_normalization. xlsx, available as supplementary material.
Experiment 1: Preparatory study The primary goal of Experiment 1 is to test a set of 120 items and select a subset of 60 items for LexCHI so that it contains the same number of word and nonword items as the original LexTALE  (Lemhöfer & Broersma, 2012). To assess the initial validity, LexCHI scores are correlated with the results of a cloze test and a translation task. We expected significant positive correlations between LexCHI and the cloze test as well as the translation task. Following  Lemhöfer and Broersma (2012) , we mainly focused on bilinguals who are non-native speakers of Chinese in the correlation analyses, but we also recruited native Chinese speakers for the purpose of item selection (see "Data analysis" for details). Therefore, only non-native Chinese speakers completed the cloze test and the translation task.
Participants Two groups of participants were recruited for Experiment 1. The first participant group was an L2 group which consisted of 75 non-native speakers of Chinese (female: 54, male: 19, prefer not to say: 2). The L2 participants were recruited at the University of Nottingham Malaysia campus because Malaysia has a considerable number of Chinese learners. They were 24. 24 years old on average (range = 18-53, SD = 6. 15), and indicated their first language as English (N = 60), Malay (N = 9), Thai (N = 3), Indonesian (N = 1), Tamil (N = 1), or Vietnamese (N = 1). The L2 group received an inconvenience allowance of 10 Malaysian ringgit. Data from seven additional L2 participants were excluded from the analyses due to zero accuracy in the translation task (N = 3) or self-reported language impairment (N = 4).
The second participant group was the L1 group, which consisted of 54 native Chinese speakers (female: 31, male: 23). The L1 participants were recruited online via Prolific (www. proli fic. co). They received an inconvenience allowance of £2. L1 participants were 32. 2 years old (range = 20-57, SD = 7. 62) on average, and they all indicated their first language as Mandarin (N = 49) or a Chinese dialect (N = 5), e. g. , Cantonese. All L1 participants were speakers of Mandarin Chinese (henceforth Chinese). Data from six additional participants were excluded from the analyses due to low self-rated Chinese reading proficiency (< 5 on a 7-point scale, N = 3) or because they took an excessively long time to finish the task (> 25 minutes, N = 3, possibly due to consulting external tools such as a dictionary).
Materials The translation task consisted of 30 English words and 30 Chinese words selected from an English-Chinese translation database  (Wen & van Heuven, 2017a). We first selected 60 English words using the following criteria similar to  Lemhöfer and Broersma (2012) : (1) the dominant part-of-speech of English words should be a noun; (2) the Chinese-English pairs are non-cognate translations; (3) the English words had no more than three correct Chinese translations (mean = 1. 82 , SD = 0. 81) and their translation error rates were higher than 50% (mean = 64. 94%, SD = 7. 51%). Because the translation database of Wen and van Heuven only includes Chinese translations of English words, the most frequent Chinese translations for half of the selected English words were used as the Chinese items to be translated into English.
For both L1 and L2 groups, LexCHI significantly correlated with all the self-ratings of Chinese proficiency, with higher correlations in the L2 group. This pattern is in line with previous studies which reported that correlations between objective and subjective measures of proficiency were higher in the weaker language than in the stronger language of bilinguals  (Gollan et al. , 2012; Marian et al. , 2007; Sheng et al. , 2014). As predicted, LexCHI and LEXTALE_CH positively correlated in both groups. Importantly, the LexCHI data of the L1 and L2 groups were combined in a two-step analysis to select 60 good items out of the 120-item set. Based on the pointbiserial correlation and the item response theory analysis, 40 word items and 20 nonword items were selected. Like other lextale extensions (e.
80 years, range = 19-60, SD = 9. 15). All L1 participants indicated Mandarin (N = 43) or a Chinese dialect (N = 3) as their first language and were speakers of Mandarin Chinese. Data from four additional participants were excluded from the analyses due to low self-rated Chinese reading proficiency (< 5 on a 7-point scale, N = 1), 4 zero accuracy in the translation task (N = 1) or using traditional Chinese characters in the translation task (N = 1). Additional language background information of the two participant groups will be presented in the Results section. We used demographic filters in Prolific to recruit participants with English (the L2 group) or Chinese (the L1 group) as their first language. To qualify for the L2 group (naive English speakers), participants were expected to obtain a minimal LexTALE score of 80% which is the recommended 80% cut-off score for English speakers with advanced proficiency  (Lemhöfer and Broersma, 2012).
This result also replicated the findings of Experiment 1. Because LexCHI consistently outperformed LEXTALE_CH in the L2 groups, LexCHI is a better lexical test for estimating Chinese proficiency of non-native speakers. To further explore whether LEXTALE_CH and LexCHI measure different aspects of Chinese knowledge, we conducted a post-hoc regression analysis on the combined data of L1 and L2 groups with LEXTALE_CH and LexCHI as predictors. Accuracy of the cloze test was chosen as the dependent variable in the regression analysis because both LEXTALE_CH and LexCHI had higher correlation with the cloze test than with the translation task when the data of L1 and L2 groups were combined (see Appendix 4). To address the issue of the collinearity between the two predictors, the scores of LEXTALE_CH were first orthogonalised by fitting a linear model in which LEXTALE_CH scores were predicted by the LexCHI scores (see  Wen & van Heuven, 2017a , for a similar approach).
In 1999, Karch et al. [7]  extended this algorithm to the construction of tree structures in R 3. In 2010, VascuSynth 2  [3]  was proposed as an open-source software building upon CCO. Although VascuSynth data are frequently used in the angiographic image analysis literature, the underlying software presents various limitations compared to the native version of CCO (e. g. regarding spatial domain definition, optimization strategy for bifurcation geometry computation). In 2019, Jaquet et al. revisited the CCO algorithm  [5]  with the purpose of using it for cardiovascular modeling. Unfortunately, the associated software was not made available to the scientific community. A couple of years ago, we decided to provide an open-source version of this algorithm. Doing so, we also carefully revisited the algorithm, in order to efficiently deal with some tricky aspects, computationally expensive steps, and to try to simplify its formulation, especially by discriminating its algorithmic and physiology-guided layers.
Source codes and dependencies The code of OpenCCO is written in C++. It is composed of the following classes in the src directory: • CoronaryArteryTree contains the structure of a vascular tree and functions to create a bifurcation; • DomainController contains the construction of the domain of a vascular tree; • helpers/GeomHelpers contains functions to generate randomly terminal points, check intersections, Kamyia optimisation,. ; • helpers/ExpandTreeHelpers contains functions to generate a vascular tree; • helpers/XMLHelpers contains functions to export a vascular tree into XLM file. The program (and the online demo) takes into account the following parameters:.
Conclusion and perspectives In this article we proposed an implementation of the CCO algorithm, initially designed in  [17]  for the 2-dimensional case and in  [7]  for the 3-dimensional case. We did our best to provide an implementation that is as close as possible to these original algorithms. We believe that our implementation could be of precious use for any researcher interested in obtaining realistic vascular networks (or similar tree-based objects). In particular, it may constitute a useful alternative to existing softwares, such as VascuSynth  [3]. It could be possible to build upon this framework in order to propose complementary functionalities that could tackle some recurrent issues that occur in vascular modeling. First, the approach could be extended to generate complementary networks (e.
All the mechanics are contained exclusively in the training of the model. Several recent works are dealing with the development of statistical and machine learning tools for cracking data analysis. They study for example crack classification or detection of type of cracks  (Das et al. 2019; Kim et al. 2018). The crack path prediction has been also addressed in  (Willot 2015; Le Mire et al. 2021)  or  (Bayar and Bilir 2019)  but none of them leads to a surrogate model providing local information on the crack path which is the originality of our development. This paper is organized as follows. Section 2. 1 is devoted to the reminder of some elements related to cracking of materials that are exploited in the construction of the model and allows to define working hypotheses. Section 2. 2 describes the test case considered in this document and the computer code used for the simulations.
Numerical simulation of cracking In this section, the numerical representations of the concrete and the XPER software, that allows to numerically simulate the crack, will be presented. Numerical samples of concrete are constructed from morphological descriptors. XPER implementation involves a multi-contact modeling strategy based on the Non-Smooth Contact Dynamics (NSCD)  (Jean et al. 2001)  method where cohesive models are introduced as mixed boundary conditions between each volumetric finite element. Each element or group of elements of the mesh can be considered as an independent body and the interface between bodies follows a frictional CZM  (Nordmann et al. 2019)  with no regularization nor penalization  (Péralès et al. 2010 ). These descriptors are statistical and geometric information identified on real concrete, like n-point moments and spatial covariance  (Jeulin 2015)  allowing to characterize the spatial arrangements of different phases.
Analysis of the relevance of the indicators In this section, we analyze the relevance of the two indicators angle and distance to capture the local characteristics of the crack path. This analysis is also exploited to define the different terms of the prediction model developed in Section 4. The two indicators are evaluated for each discretization point located on the crack path using Procedure 1 for a set of 35 microstructures whose cracking is simulated by the XPER code following Section 2. 2. In this study the local direction of the field of view is always orthogonal to the loading (mode I). The indicator evaluation is performed for the two configurations of the field of view: F1 in Figure  8  [Left] and F2 in Figure  8   The red dots stand for candidate points present on neighbouring aggregates (cross the matrix) and the green square dots stand for the candidate points belonging to the same aggregate.
Parameter estimate The parameter estimate exploits a training set of 35 microstructures numerically cracked with the XPER code from the test case described in Section 2. 2 with square shape aggregates. The estimation of the parameters of the Markov chain are obtained by maximising the likelihood, see Equations (  16 ) and (  17 ). The maximisation is performed with an optimized version of the BFGS algorithm  (Xiao et al. 2008). that in Modeling 2, the parameters  1 ,  3 ,  4 ,  1 ,  2 , and  3 correspond to multiplicative factors, the others are exponents. In configuration F1, the two highest values of the multiplicative factors ( 3 and  4 ) and the two lowest values of the exponents ( 6 and  5 ) correspond respectively to the parameters of the distance and the interaction terms. These two quantities are associated to candidate point located on another aggregate.
The numerical results show that, for a given microstructure with different aggregate shapes, the new model provides a set of predicted cracks that are in agreement with the computer code simulation. Moreover, it allows recovering the variability of mechanical quantities of interest such as the tortuosity. The main advantage for practical issues is that the model is sufficiently flexible to be automatically adapted to any change in the local direction of the crack. A more complex application (a three-point bending beam test) is currently conducted on a mechanical test case where the crack direction is obtained through a mechanical simulation. In this paper, it was decided to study microstructures of similar uniform density with different shapes of aggregates. Further investigations should concern different microstructures, in particular non-uniform densities (presence of clusters) and aggregates of different sizes.
While we have shown that this low-level API fits good into OpenMP and provides the necessary functionality to replace technology-specific libraries, the need for a higher-level functionality to enable a productive use of heterogeneous memory in scientific or technical applications became obvious. In this work, we introduce a new methodology that aims to provide portable tools and methods for managing data placement in systems with heterogeneous memory. This manuscript significantly extends prior work  [1]  that was only presented as a poster in an early phase of the project. In summary, our contributions are the following: • First, we have developed a library that, given a set of hints (called traits in the paper) on the way data items are used and accessed, can efficiently map them to the available memory subsystems.
Memory kinds in hwloc hwloc  [13]  is the de facto standard tool for describing the topology of parallel platforms and managing the locality of tasks and data buffers. Support for heterogeneous memory architectures was added in its latest releases. This section will explain how the topology of heterogeneous memory is exposed by the hardware itself and by hwloc. There are currently three main types of memory available on the market: DRAM, HBM and NVM. However, the hardware (E820 table) rather exposes normal, special-purpose and nonvolatile memories. The goal of the special-purpose flag is to tell the operating system that HBM and other device-specific memory (GPU or network buffers, for instance) should not be used for default memory allocations (they are exposed as special DAX devices on Linux as shown in Fig.
We measured the loaded latency on a local socket/quadrant of Ice Lake and KNL systems using read-only workloads with the Memory Latency Checker and present the results in Fig. 5. On Ice Lake's NVM, the difference between sequential and random memory accesses is more pronounced than on other memory types. Fig. 5(a)  shows better scaling for both latency and throughput performance with sequential accesses on NVM compared to the random pattern. In the sequential data access case, the peak throughput is achieved with only 20 threads, whereas in the random accesses case, the peak throughput is less than half of the sequential pattern and achieved with 16 threads. Notably, latency is 3 × higher with random accesses compared to sequential. Any additional thread not only contributes to increased latency but also negatively impacts the overall performance in both access patterns.
Heterogeneous memory power consumption As an additional aspect to consider, a diverse memory landscape entails different energy demands for its components. Evaluation of power consumption as a performance optimization metric is becoming increasingly important. In this section, we provide a comparative overview of the package and memory power consumption with different memory allocations on Ice Lake and KNL systems. For the assessment of power consumption under memory-and compute-bound constraints, we modified a synthetic STREAM  [20]  benchmark to include sequential read-only kernels with a range of flops-to-bytes ratios. The numactl tool was used to place data on corresponding memory domains and perf to measure the power draw of the package and memory subsystems. The benchmark ran on a single socket of Ice Lake CPU and was parallelized using all 32 cores with local DRAM and NVM data allocation.
Memory management in OpenMP OpenMP has grown from an abstraction of thread-level parallelism to incorporate tasking, SIMD (vector) parallelism, and offloading code regions to remote targets. Many of these features introduce additional (and often implicit) memory allocations, including: private copies of variables allocated for each thread/task/SIMD lane; temporary variables used to implement reductions; and a combination of local and remote variables used to facilitate offloading. With the release of OpenMP 5. 0 in 2018, we contributed to the addition of the OpenMP memory.
Listing 1: Example usage of C's malloc and OpenMP's omp_alloc function. management  [23]  API as a platform-and vendor-neutral interface to allocate and free data in heterogeneous memory. In iterative programming languages such as C/C++ or Fortran, which are dominant in high-performance computing, memory is managed by the use of allocation API routines, allocator objects, or allocation constructs, respectively. The only argument to the allocation is the amount of memory that is requested to be allocated. In OpenMP, a memory space encapsulates a storage resource that is available in the system. Contemporary HPC server systems are still mainly equipped with DDR-based main memory, which could be the only memory space in a system, but as discussed in the previous section, memories with enhanced performance (e.
A set of API routines to create and destroy memory spaces and allocators, taking a set of traits as an argument, is part of OpenMP. Taking the above concepts into account, the OpenMP memory management API provides the additional functionality to request allocation in a certain memory kind and the specification of certain properties. Users request an allocation of a certain size from a given allocator via the omp_alloc routine. The memory must be deallocated with omp_free. With only a minor change over a standard memory allocation the OpenMP code snippet in Listing 1 allocates memory from the memory kind with the highest bandwidth available by using the pre-defined omp_high_bw_mem_alloc allocator. However, this comes with the cost of that the resulting program targets a certain memory configuration and requires the programmer to deal with the specific configuration of the memory subsystem of possible target computers, although fallbacks may be specified.
Memory access profiling. To monitor and record memory access of application runs there are usually two approaches based on instrumentation or sampling. We further describe and compare these approaches in Section 6. 2. In this work we use NumaMMA  [27] , a sampling-based memory profiler that uses PEBS/IBS. Nu-maMMA allows to execute programs and simultaneously gather information about memory accesses (loads and stores) for individual data items. Collected data is then grouped by callsite which is representing the code location where the allocation is performed. There might be several separate allocations per callsite. NumaMMA offers scripts to visually report access patterns but also allows dumping the collected data which we employ for recommending traits in the following step. Table  3  lists the relevant information that can be derived from dumps.
These traits are then used to create a code version with allocation abstractions. Finally, we conduct tests using our commit strategy H2M prio and compare it against first-served and the manual item placements. We use 16 threads for both, Ice Lake and KNL. The overall memory footprint of the XSBench execution is approximately 6 GB. To demonstrate the effectiveness of our data placement, we enforce capacity limitations for the higher bandwidth memory to 500 MB and 1 GB. Results are illustrated in Figs. 10(e ) and 10(k). On Ice Lake, we can see that first-served fails to place nuclide _grid in faster DRAM due to the existing order of allocations. Even if the limit is set to 1 GB most of the space is occupied by index_grid. H2M prio however respects the specified traits and dynamically prioritizes nuclide_grid that has a higher LS mem (M).
). This is only the low-level interface to memory binding system calls on Linux. The memkind library  [37]  builds upon NUMA node functionality to enable allocations of high-bandwidth memory within C code. It was first designed for KNL where the characteristics of memory nodes were known in advance and could be hardwired in software. It was later extended to discovering NVM nodes. However, now it relies on our work in hwloc for identifying generic HBM nodes in a portable manner. SICM  [38]  rather performs an architecture profiling to find out which memory nodes are DRAM, HBM or NVM. However this step is difficult because it must detect bandwidth and latency differences, as well as read/write asymmetry. We believe that hwloc's reading performance attributes from the HMAT ACPI table is a more reliable way to identify and characterize the different kinds of nodes.
We demonstrated the effectiveness of our approach that outperforms a first-come-first-served allocation scheme in nearly all cases and reaches close to best case performance while only using a part of the available fast memory. Finally, for cases on KNL that do not profit from MCDRAM, we showed that our approach also does not result in significant performance declines. Future work. Based on the success of our approach, we are looking at leveraging our traits in the OpenMP standard to extend its memory allocation API and to make our work simpler to use by application programmers. Although we believe that it is beneficial to enable the programmer to express requirements and hints via allocation abstraction, we also investigate approaches based on allocation interception to avoid code modifications.
Acknowledgments This work was supported in part by the  French National Research Agency (ANR)  in the frame of the  ANR-DFG   H2M  project ( ANR-20-CE92-0022-01 ). Parts of this work have been funded by the  Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) -446185093. We would like to thank  François Trahay  for extending the NumaMMA software to better suit the requirements of our work.