dataesr/scientific-paragraphs-categorization huggingface dataset:
Communication at each pipeline stage is mostly depending in the type of parallelism (for example for static data or task parallelism, communication point-to-point links are required). • Parallel programming libraries enable developers to accelerate applications. Depending on the structure of the application (i. e. , given the sequential code of each subtask), the user can generate the parallel application code by deciding which is the appropriate skeleton from a set of parallel skeletons making the basis of our programming environment (split, compute, and merge (SCM) skeleton, FARM for data/task parallel processing, and PIPE for taskparallel parallelism, split, compute, communication all to all and Merge (SCComCM), etc. ). • New design framework 'CubeGen' targeting FPGA-based image and video processing applications with the purpose of accelerating the development time by utilizing a set of parallel software skeletons and pre-built hardware blocks.
Pipelined homogeneous design Figure  1  illustrates the concept of the pipelined architecture. Each stage of the pipeline consists of 2 D nodes, each containing a soft processor P i_j , with private memory (Mem) for application software and data storage, and a communication device (Comm) (simple FIFO point-topoint (FSL link) communication, or more complex communication such as direct memory access (DMA) router packet). The arrangement of the various element nodes in each stage is a static network with regular hypercube topology. We have defined a set of rules to build a multistage homogeneous architecture, from which hardware code is automatically generated by means of CubeGen framework. Suppose now that we have a pipeline architecture with K pipeline stages which work in parallel, each stage comprises N i = 2 D i nodes (i ∈ [1, K]).
Whereas, if we have two consecutive stages where the first is based on point-to-point (FSL) links and the second is based on hardware router, only processor P i_0 in the stage i will communicate with the processor P i+1_0 in the stage i+1 (only the processors with index 0 are connected via unidirectional link (Figure  3 )). The processing latency on parallel applications in such pipeline architecture depends on the execution time of the slowest pipeline stage. Consequently, the processing time for the proposed pipeline architecture is equal to the execution time of the first stage t stage 1 or the execution time of the second stage t stage 2 whichever is the maximum max(t stage 1 , t stage 2 ). To boost the performance of the application, CubeGen framework is able to generate multiple pipeline stages with different network dimensions, communication links, software skeletons, etc.
Algorithmic skeletons To embed the software application written as serial computation into the MPSoC design, there are many problems related to the decomposition, distribution, code and data sharing, communication and synchronization, etc. To this end, we have developed a set of common and recurrent forms of parallelism algorithmic skeletons corresponding to static data parallelism, dynamic data parallelism, task parallelism, or flow parallelism in order to implement a sequential algorithm onto our MPSoC architectures. In this way, we have proposed a set of high-level communication functions to easier prototype the target application and to make them readily available for the application programmer. To help the designer, the communication functions are automatically generated by the CubeGen framework for each dimension of the MPSOC system.
Based on these configuration choices, the CubeGen framework automatically generates the complete system. It includes a homogeneous network of communicating processors (HNCP), the memory components which must be configured to match the application memory requirements (due to program code and image data) of the software application; therefore, communication devices that enable very low latency communication (one using direct point to point links and the other using a hardware router), debug devices which can be configured to test our MPSoC design (UART, JTAG, MDM, etc. ) and I/O IPs (from our IPs library) which are necessary for processing the video data coming from the PC. Parallelization of multitask application is based on the main idea that most of the parallel applications were built upon a limited number of recurring schemes of parallelization (parallel skeletons) such as SCM for data or static task parallelism, FARM for dynamic data sharing (or dynamic task sharing), and PIPE for task-parallel parallelism, etc.
Taken as input, the application which is programmed using imperative languages such as C, C++, CubeGen framework also generates specific lightweight communication functions that are tuned to the network configuration (number of processors, communication links, parallelization scheme. ). Thanks to these communication functions, the designer can easily convert sequential algorithm into a parallel C code. During the compilation, the parallel program is compiled on the HNCP architecture using compiler GCC or G++. During the design synthesis, the whole system is instantiated on SoPC Xilinx (or Altera) platform using highlevel design tools such as the embedded development kIT (EDK) from Xilinx or Quartus II design software from Altera. Afterwards, the HDL code can be verified. Here, if the design does not meet the area constraints, a first loop enables to re-configure and re-generate the HNCP for efficient utilization of resources.
Actual hardware architecture is done by the choice and parameterization of readily available reconfigurable hardware modules and customizable commercially available IPs. To offer more choices, our library is under development and currently contains for example two soft processors: NIOSII (Altera) and MicroBlaze (Xilinx) and several dedicated HW IPs, etc. Earlier workers aim at including SecretBlaze (soft processor), generic IP Ethernet, etc. In fact, CubeGen automates the high-level description of the HNCP in few seconds. As result, the developed framework generates the configuration file creation dedicated to the embedded development kit (EDK) of Xilinx Company or to the Quartus II design software of Altera Company. This generated file contains the description of the system with the connection between the different IPs.
Finally, we compare the output of the different search hypotheses looking exhaustively for the best solution. Thereafter, the best estimation of X d and covariance matrix C X d (resulting from the recognition step) for the input image will be used in the next frame. The main feature of this algorithm is that portions of the database (zones of interest, roadside models, and score of recognition) must be communicated between processors to accomplish the necessary treatment. With regard to the latter, the recognition processes are suitably mapped onto a hypercube topology. However, the communication cost of this application has continuously increased, especially when we increase the dimension of homogeneous architecture based on hardware router. Inspite of the interesting gain obtained with this architecture, the road boundary changes with the running of the vehicle across the frame especially when we treat realistic images due to the variation of the roadside region characteristics and vehicle environment.
Data parallel implementation Based on the proposed multiprocessor approach, it is possible to implement various parallel FPGA designs in a single chip. Our main implementation of model-driven approach for real-time road recognition employs a Xilinx SoPC development board and involves many MicroBlaze processors in a distributed memory multiprocessor configuration. Figure  17  summarizes the 1, 4, 8, and 16 processing nodes (PNs) architecture resource utilization (FPGA resource usage). The MPSoC hardware architectures (VHDL code) synthesized on Xilinx Virtex-6 ML605 FPGA. Due to the application memory requirements (program code and image data), each node must contain 64 kb of local memory. To satisfy the communication requirements, each soft processor (MicroBlaze) must have 32 kb for send memory buffers and 8 kb for receive memory buffers.
Task parallel implementation Following the design flow, a number of multiprocessor configurations can be created and programmed easily using our CubeGen framework. In this section, we will evaluate the performance of a novel FPGA implementation of the recognition approach-based task parallelism. The pipeline design described above was simulated and implemented targeting Xilinx FPGA. Furthermore, we present a number of experiments in which we show the FPGA synthesis results and the execution times of the image processing algorithm. Figure  19  shows the space and resources used by the proposed MPSoC architecture (the pipeline network architecture) in the function of the number of processing nodes in each stage (the cases of 1, 4, and 8 processing nodes (PNs) in each pipeline stage). In these implementations, we have employed the bus video module designed to serve as an I/O engine for MPSOC configurations for varied dimensions.
The size of memory for data and program (BRAM) was set to 64 kB. For the four-node architecture in each stage, place and route results lead to an area occupation of 7% for slice registers, 91% for RAM blocks, and 18% for slice LUTs. Since the processors are connected through a hypercube network, each node is associated with frame grabber which contains two buffers (input/output buffer) and supplied with a 64-k local memory. This may explain the results of resource utilization in terms of area occupation. Due to the large size of the contest networks and the limited resources on the Xilinx Virtex-6 ML605 FPGA, we were only able to implement two-pipeline architecture composed of eight PNs in each stage. As expected, the memory resources will be the limiting factor in our design. To improve the tracking performance, the number of hypotheses (tasks) executed in parallel will increase as more processors are added.
Conclusion In this paper, we present an improved MPSoC approach to design, test, evaluate, and generate parallel homogeneous architectures that satisfies the severe requirements of real-time image processing applications. For embedding multitasks applications efficiently, we applied our MPSoC-based design flow and design methodology to develop an FPGA-based multiprocessor system with multiple pipeline stages. This homogeneous design aims at balancing the computation requirement and providing enough computing performances to ensure real-time processing of complex image/video processing algorithms. Our main objective is to enable quick implementations on the FPGA by developing a new framework that aims at generating an optimal MPSoC for a given application. The user has only to design image and video processing applications in C language and convert them into hardware using our CubeGen tool.
Thus, the evolution of artificial intelligence and data mining tools should benefit to the reduction of time and efforts needed to identify new structural alerts, sometimes beyond the limits of human perception. This mini-review describes different programs leading to automated detection of such information from a dataset partitioned into two data classes. These programs range from commercially available expert systems to fundamental research tools, based on algorithms that are sometimes under development. It is impossible to make an exhaustive view of all the approaches leading to structural alerts in this mini review. We have made the difficult choice to discard the methods involving predefined fragments (chemical fingerprint) or a fix length of chemical fragments (hashed chemical fingerprint).
Expert systems based on data mining approaches Historically, CASE is the first program which extracts chemical fragments from the comparative analysis of two chemical datasets. This approach identifies the most relevant descriptors, using automated algorithms, and creates expert systems capable of recognizing the existence of structural alerts in new chemicals. The program consists in tabulating, for each molecule, different fragments by breaking up the molecule into linear subunits containing between 3 and 12 interconnected heavy atoms. All fragments belonging to an active molecule are labeled active while those belonging to an inactive molecule are labeled inactive. Once all molecules have been entered, a statistical analysis of the fragment distribution is made. A binomial distribution is assumed, and each type of fragment is considered.
CSBJ Abstract: This mini-review describes the evolution of different algorithms dedicated to the automated discovery of chemical fragments associated to (eco)toxicological endpoints. These structural alerts correspond to one of the most interesting approach of in silico toxicology due to their direct link with specific toxicological mechanisms. A number of expert systems are already available but, since the first work in this field which considered a binomial distribution of chemical fragments between two datasets, new data miners were developed and applied with success in chemoinformatics. The frequency of a chemical fragment in a dataset is often at the core of the process for the definition of its toxicological relevance. However, recent progresses in data mining provide new insights into the automated discovery of new rules.
For a new molecule, the program compares its fragments to those that are held in memory and defines a probability that the new molecule is active or not. Concerning MultiCASE, the program is based on a hierarchical statistical analysis of a database. Like CASE, the program aims to discover chemical fragments that appear mostly in active molecules. It starts by identifying the statistically most significant fragment existing within the learning set. This first fragment is labeled as the top biophore, responsible for the activity of the largest possible number of active molecules. The active molecules containing this fragment are then removed from the database and the remaining ones are submitted to a new analysis leading to the identification of the next most significant fragment. This procedure is repeated until either the activity of all the molecules in the learning set have been accounted for or no additional statistically significant substructure can be found.
For each set of molecules containing a specific biophore, MultiCASE identifies additional parameters, named modulators, which consists of the presence of certain fragments or the value of calculated parameters such as HOMO and LUMO energies, octanol-water partition coefficient, and so on. Finally, MultiCASE proposes fragment-based QSAR models by applying a QSAR methodology for each group of molecules containing a specific biophore. We can also mention that the same team has implemented the CASE/MultiCASE biophores in a genetic artificial neural network (GA-ANN). This new computer program was called Expert System Prediction (ESP). 14 The purpose was to evaluate the significance of the biophores from a different point of view. The neural network learns the relationships between the patterns (represented in the form of a pattern vector) and the activities of the chemicals, and this knowledge is later used for activity prediction of new molecules.
The effectiveness of the ESP approach was illustrated by studying the carcinogenicity of a diverse set of chemicals. The PASS program is based on a regression approach that provides predictions from the SAR analysis of a training set containing more than 30000 compounds. This noncongeneric database encompasses more than 500 different biological activities. The molecules were represented by "Multilevel Neighborhoods of Atoms" (MNA) descriptors, 17 which are based on their 2D representation. Briefly, an MNA descriptors set is subdivided on levels and generated recursively. A zero-level MNA descriptor describes the atom itself and any next level MNA descriptor is the substructure notation A(D1D2. ), where A is the atom A descriptor, and Di is the previous level MNA descriptor of the i th neighbor atom for the atom A.
For example (Figure  2 ), 4-aminodiphenyl was predicted to be active as a mammary carcinogen with a probability of 100%. This prediction was based on the occurrence of four similar fragments derived from nine carcinogens and zero noncarcinogens in the model's learning set. However, the example clearly highlights a redundancy issue with this program. LAZAR, a tool for predictive toxicology, uses a simplified version of the MOLFEA algorithm, an inductive database system tailored toward discovering substructures within sets of small molecules. The considered substructures are linear molecular fragments, i. e. sequences of atoms and connecting bonds, and are based on a subset of the SMARTS language. Inductive databases are databases that can be queried not only for data but also for patterns and regularities (chemical fragments in this case) that occur within the data and fulfill a specific constraint defined by the user.
Developments of graph data mining algorithms based on a frequency constraint The tools described above have been implemented in expert system software which are generally commercial products. However, due to the evolution of the modern information methods and technology, collecting, combining, storing, and mining huge amounts of data can be done at very low costs. Indeed, several works have been developed in informatics to extract the frequent subgraphs from a dataset. Apply to the field of the chemoinformatics, those works allow to extract the frequent substructures. The frequency constraint is popular in data mining for its anti-monotonic 20 property : if a substructure sub of size n (the size is the number of atoms) is not frequent in a dataset of molecular graphs, it means that all the substructure of size n+1 whose contain sub are not frequent in this dataset.
The frequency is useful as it efficiently disregards infrequent substructures. However, as a simple remark, if according to the frequency constraint there are too few compounds that contain oxygen, then peroxide containing substructures are not explored. Several families of algorithms exist for extracting the frequent subgraphs from a dataset of graphs 21. The Apriori approach 22 used a Breadth-First search strategy to cross the search space associated to the frequent subgraphs. The discovery of the frequent atoms in the dataset is the first step, then it iterates until no more frequent substructures are discovered by increasing by one the size of the candidates. At each iteration, the substructures of size n+1 are obtained thanks to the fusion of the frequent substructures of size n. A fusion process merges two frequent substructures of size n whose differ by only one atom and provides all the substructures resulting from this fusion.
By testing all the possible fusions, all the candidates of size n+1 are generated. Finally, the frequency is checked and only the frequent ones are kept. The initial algorithm (named AGM) to extract the frequent subgraphs from a dataset of graphs belongs to this family. The Pattern-Growth Based approach used a Depth-First search strategy to cross the search space of the candidates. A frequent substructure of size n is extended by adding a new chemical bond leading to a candidate substructure of size n+1. Only the substructures respecting the frequency constraint are stored. The first step of this method consists to collect all the frequent atoms, then each atom are extended until no more frequent subgraphs are generated. Only substructures with at least two atoms are stored. We described here applications exploiting the Pattern-Growth Based approach.
For each such mapping, the atoms at the neighboring positions of this substructure are stored. For each substructure in such a collection, its statistical association with mutagenicity, expressed as the p-value, was determined from the amounts of mutagens and nonmutagens. It was then determined which substructure was most strongly associated with mutagenicity, that is, which substructure possessed the lowest p-value. This substructure was then selected to split the chemical data set into two subsets (linear decision trees). Each split generated one subset of compounds that contain this substructure and another subset of compounds that lack this substructure. This latter subset was used to recompute the p-values of all substructures. From these p-values, the next most mutagenic substructure was determined and then used to split this chemical subset in two, and so on.
After six splits, all compounds from the original database are divided over seven subsets. The result is illustrated in Figure  4. The statistics of mutagenicity prediction based on 10 fold cross-validation showed a sensitivity of 83% and a specificity of 74%. Concerning this program, the association rules start from an algorithm similar to Eclat 28 (search trees). The process is well described in the publication and is illustrated on a set of molecules (Figure  5 ) with a minimum support (frequency) of 50%. First the sulfur atom is embedded forming the root of the search tree (Figure  6 ), and then the embeddings are extended in all possible ways. Of course, subtrees of the search tree are pruned if they refer to substructures not having enough support. This leads to the definition of six frequent substructures starting from the example molecules (Figure  7 ).
e. its number of occurrences in the dataset) increases significantly from one dataset D1 to another D2. Dong and Li have proposed to use the growth rate measure to evaluate this increasing. The growth rate of a pattern pat from D2 to D1 is given by the ratio of the frequency of pat in D1 over the frequency of pat in D2. In this way, EPs capture contrasts between two data classes. An interesting point on this project is to discover EPs with small support. The authors precise that it is a challenge due to two reasons: i) the useful anti-monotonic property no longer holds for EPs, and ii) there are usually too many candidates. Naïve algorithms, which consider all itemsets, are not viable since it would be too costly. However, such collections of itemsets have a nice property corresponding to the notion of closed intervals.
31 If X and Z are in S and Y is a set such that X ⊆ Y ⊆ Z then Y is in S. Thus, they described large interval-closed collections of itemsets using borders, defined as the pair of the sets of the minimal and the maximal itemsets. Clearly, borders are usually much smaller than the collections they represent. Such borders can be efficiently discovered by algorithms like Max-miner. 32 For instance, on a mushroom dataset with a growth rate threshold of 2. 5, 2 28 EPs are possible but they can be represented by only half a million borders. Otherwise, if the support of an EP in D2 is null then this pattern was called a Jumping Emerging Pattern (JEP). A JEP is defined as the most expressive EP. 33.
In comparison with previous study, the authors consider now the conjunction of fragments, i. e. the combination of different moieties of a molecule in only one pattern. The new notion of Representative Pruned Molecular Patterns (RPMPs) was introduced. As a reminder, when a dataset is partitioned into targeted examples and non-targeted ones (also called "classes"), the growth-rate of a pattern is defined as the ratio between its frequency in the target class over its frequency outside the target class. The first step consists in the enumeration of all the frequent and emerging molecular patterns (FEMPs) according to frequency and growth rate constraints. In practice, FEMPs are often numerous and include redundant information, but they could be condensed by applying the notion of closed pattern.