Screening module, apparatus, device, storage medium

By coordinating scheduling and managing buffer registers in the screening module, the problem of speed and accuracy in screening tasks in computer technology is solved, and the efficient execution of the screening process is achieved.

CN120564860BActive Publication Date: 2026-04-10SHANGHAI SMARTLOGIC TECHNOLOGY LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-30
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

How to quickly and accurately complete the screening task based on target conditions in computer technology, especially the screening of particles that meet the conditions in molecular dynamics simulation.

Method used

A filtering module is adopted, including a filtering module configuration unit, a reference object configuration unit, a first-in-first-out FIFO memory for filtering objects, a filtering object reading unit, a reference object reading unit, an interrupt parsing unit, and multiple filtering units. Through coordinated scheduling and buffer register management, the target condition judgment between the reference object and the filtering object is realized.

Benefits of technology

It achieves a fast and accurate screening process, improves screening efficiency and accuracy, reduces hardware idle waiting time, and increases the execution speed of screening tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120564860B_ABST
    Figure CN120564860B_ABST
Patent Text Reader

Abstract

The application provides a screening module, device, equipment, storage medium, the screening module comprises: screening module configuration unit, reference object configuration unit, first in first out FIFO memory of screening object, screening object reading unit, reference object reading unit, interrupt analysis unit, a plurality of screening units; wherein, the screening module configuration unit is connected with the screening object reading unit and the reference object reading unit respectively; the reference object configuration unit is connected with the reference object reading unit; the interrupt analysis unit is connected with the screening object reading unit; the screening object reading unit is connected with the FIFO memory of screening object; the reference object reading unit and the FIFO memory of screening object are connected with each screening unit respectively. The screening module provided by the application can quickly and accurately complete the screening work.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a screening module, device, equipment, and storage medium. Background Technology

[0002] With the development of computer technology, the demand for screening based on target conditions using computer technology has increased dramatically.

[0003] For example, in molecular dynamics simulations, computer technology is used to screen particles that meet the condition that the distance between a particle (reference particle) and its surrounding particles is no greater than a threshold.

[0004] like Figure 1 As shown, in the area to be screened (i.e. Figure 1 In the block to be screened, computer technology is used to calculate the distance between the particle to be screened and the reference particle, and to determine whether the distance is within the Rcut range (i.e., the target condition is that the distance between the particle to be screened and the reference particle is not greater than Rcut). If the particle's parameters include four items (x, y, z, q), where x, y, and z represent the particle's three-dimensional position and q represents the information carried by the particle, then it is necessary to screen particles whose distances satisfy the target condition (i.e., the target condition δx). 2 +δy 2 +δz 2 <Rcut 2 The particles are selected and the selected particles are output (e.g., the selected x, y, z, q data are stored in the storage unit).

[0005] How to complete the screening process quickly and accurately is a problem that urgently needs to be solved. Summary of the Invention

[0006] To address one of the aforementioned technical deficiencies, this application provides a screening module, apparatus, device, and storage medium.

[0007] In a first aspect, this application provides a filtering module, which includes: a filtering module configuration unit, a reference object configuration unit, a first-in-first-out FIFO memory for filtering objects, a reading unit for filtering objects, a reading unit for reference objects, an interrupt parsing unit, and multiple filtering units;

[0008] The filtering module configuration unit is connected to the reading unit of the filtering object and the reading unit of the benchmark object, respectively.

[0009] The reference object configuration unit is connected to the reference object reading unit;

[0010] The interrupt parsing unit is connected to the reading unit of the filtered object;

[0011] The reading unit of the screening object is connected with the FIFO memory of the screening object.

[0012] The reading unit of the reference object and the FIFO memory of the screening object are connected with each screening unit respectively.

[0013] Optionally, the screening module configuration unit is configured to store configuration information of the screening module.

[0014] The reference object configuration unit is configured to store configuration information of the reference object.

[0015] The screening units are independent.

[0016] The reading unit of the reference object is configured to read the reference object according to the configuration information of the screening module and the configuration information of the reference object.

[0017] The interrupt resolution unit is configured to receive the interrupt control and resolve the storage position of the screening object contained in the interrupt control.

[0018] The reading unit of the screening object is configured to read the screening object according to the address information of the screening object.

[0019] The FIFO memory of the screening object is configured to store the read screening object.

[0020] The screening unit is configured to perform target condition judgment between the reference object and each screening object to obtain a screening result.

[0021] Optionally, the reading unit of the reference object is connected with the storage unit of the reference object.

[0022] The reading unit of the screening object is connected with the storage unit of the screening object.

[0023] The screening unit is connected with the judgment result storage unit, and the judgment result of the screening unit is stored in the connected judgment result storage unit; the judgment result storage units are independent.

[0024] The reading unit of the screening object and the reading unit of the reference object are kept synchronous through coordinated scheduling.

[0025] The reading unit of the reference object is configured to read the reference object according to the configuration information of the screening module and the configuration information of the reference object after the reference object reading trigger is acquired.

[0026] The reference object reading trigger is generated by the screening object processing module according to the storage information of the judgment result storage unit.

[0027] Optionally, the reading unit of the reference objects is configured to determine, when the screening module is executed for the first time or after the reading trigger of the reference objects is acquired, whether there are reference objects that are not read by the buffer registers according to the configuration information of the screening module and the configuration information of the reference objects; if it is determined that there are reference objects that are not read by the buffer registers, determine whether there is a target buffer register in the plurality of buffer registers; if there is a target buffer register, read the first number of reference objects through the target buffer register.

[0028] If the number of reference objects that are not read by the buffer registers is less than the preset first unit reading number, the first number is the number of reference objects that are not read by the buffer registers, otherwise, the first number is the first unit reading number.

[0029] Optionally, the reading unit of the reference objects is configured to determine whether there is an empty buffer register in all buffer registers; if there is an empty buffer register, it is determined that there is a target buffer register, and the empty buffer register is determined as the target buffer register; if there is no empty buffer register, it is determined whether there is a buffer register that has completed processing; wherein the reference objects in the buffer register that has completed processing are all subjected to target condition judgment with each screening object; if there is a buffer register that has completed processing, it is determined that there is a target buffer register, and the buffer register that has completed processing is determined as the target buffer register.

[0030] Optionally, the reading unit of the reference objects is configured to group the reference objects read by the target buffer register; and input each group of reference objects into different processing units.

[0031] Optionally, the FIFO memory of the screening objects includes one write pointer and a plurality of read pointers.

[0032] The FIFO memory of the screening objects is configured to write the screening objects into the FIFO memory through the write pointer.

[0033] The screening unit is configured to sequentially read the second number of screening objects from the FIFO memory of the screening objects through the read pointers; and the read pointers corresponding to each screening unit are different.

[0034] The second aspect of the present application provides a screening device, which includes the screening module of the first aspect.

[0035] The third aspect of the present application provides an electronic device, which includes the screening device of the second aspect.

[0036] In a fourth aspect, the present application provides a computer readable storage medium, which is connected with the electronic device of the third aspect, and stores a computer program. The computer program is executed to implement the screening module of the first aspect.

[0037] The present application provides a screening module, device, equipment and storage medium. The screening module comprises a screening module configuration unit, a reference object configuration unit, a first-in-first-out (FIFO) memory of screening objects, a reading unit of screening objects, a reading unit of reference objects, an interrupt analysis unit and a plurality of screening units. The screening module configuration unit is connected with the reading unit of screening objects and the reading unit of reference objects. The reference object configuration unit is connected with the reading unit of reference objects. The interrupt analysis unit is connected with the reading unit of screening objects. The reading unit of screening objects is connected with the FIFO memory of screening objects. The reading unit of reference objects and the FIFO memory of screening objects are connected with each screening unit. The screening module can quickly and accurately complete the screening work. BRIEF DESCRIPTION OF DRAWINGS

[0038] The accompanying drawings, which are included to provide a further understanding of the present application, illustrate embodiments of the present application and together with the description given below, serve to explain the present application. The present application is not limited by the illustrative embodiments given hereinafter.

[0039] Figure 1 A schematic diagram of particle screening in the prior art;

[0040] Figure 2 A structure schematic diagram of a screening module provided by the present application;

[0041] Figure 3 A structure schematic diagram of another screening module provided by the present application;

[0042] Figure 4 A structure schematic diagram of another screening module provided by the present application; DETAILED DESCRIPTION

[0043] In order to make the technical solutions and advantages of the embodiments of the present application clearer, the following further describes the exemplary embodiments of the present application with reference to the accompanying drawings. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. It should be noted that the embodiments and features in the embodiments can be combined with each other without conflict.

[0044] In the implementation of the present application, the inventors have found that, with the development of computer technology, the demand for screening based on target conditions through computer technology has increased dramatically. How to quickly and accurately complete the screening work is a problem to be solved at present.

[0045] The present application provides a screening module, device, equipment, storage medium, which comprises a screening module configuration unit, a reference object configuration unit, a first in first out FIFO memory of screening objects, a reading unit of screening objects, a reading unit of reference objects, an interrupt analysis unit, a plurality of screening units; wherein the screening module configuration unit is connected with the reading unit of screening objects and the reading unit of reference objects respectively; the reference object configuration unit is connected with the reading unit of reference objects; the interrupt analysis unit is connected with the reading unit of screening objects; the reading unit of screening objects is connected with the FIFO memory of screening objects; the reading unit of reference objects and the FIFO memory of screening objects are connected with each screening unit respectively. The screening module provided by the present application can quickly and accurately complete the screening work.

[0046] Referring to Figure 2 , the present embodiment provides a screening module, which comprises a screening module configuration unit, a reference object configuration unit, a first in first out FIFO memory of screening objects, a reading unit of screening objects, a reading unit of reference objects, an interrupt analysis unit, a plurality of screening units.

[0047] The screening module configuration unit is connected with the reading unit of screening objects and the reading unit of reference objects respectively.

[0048] The reference object configuration unit is connected with the reading unit of reference objects.

[0049] The interrupt analysis unit is connected with the reading unit of screening objects.

[0050] The reading unit of screening objects is connected with the FIFO memory of screening objects.

[0051] The reading unit of reference objects and the FIFO memory of screening objects are connected with each screening unit respectively.

[0052] 1. The screening module configuration unit

[0053] The screening module configuration unit is used for storing the configuration information of the screening module.

[0054] For example, the screening module configuration unit is used for storing the configuration of the register stack of the screening unit, etc.

[0055] 2. The reference object configuration unit

[0056] The reference object configuration unit is configured to store configuration information of the reference object.

[0057] For example, the reference object configuration unit is configured to store address information and quantity information of the reference object.

[0058] 3. FIFO memory of the screening object

[0059] The FIFO memory of the screening object is configured to store the screening object read.

[0060] The FIFO memory of the screening object comprises a write pointer and a plurality of read pointers.

[0061] The FIFO memory of the screening object is configured to write the screening object read by the read unit of the screening object into the FIFO memory through the write pointer.

[0062] The read pointer is configured to select the screening object by the screening unit, and each screening unit selects the screening object through a unique corresponding read pointer. In order to avoid the situation that the number of screening units actually performing the screening task (such screening units are named as processing screening units) is less than the number of read pointers, and the read pointer not corresponding to the processing screening unit is stuck in the FIFO memory of the screening object due to no jump, if the number of processing screening units is less than the number of read pointers of the FIFO memory of the screening object, the number of read pointers of the processing screening units is obtained by merging the pointers.

[0063] For example, if the number of processing screening units is 2 and the number of read pointers of the FIFO memory of the screening object is 4, 3 read pointers can be randomly selected and merged into 1 read pointer, and then 2 read pointers are obtained, each of which corresponds to a processing screening unit. Alternatively, 2 read pointers can be randomly selected and merged into 1 read pointer, and then the remaining 2 read pointers are merged into 1 read pointer, so that 2 read pointers are obtained, each of which corresponds to a processing screening unit. The way of obtaining the number of read pointers of the processing screening units by merging the pointers can also be selected in other ways, and the embodiments and subsequent embodiments do not limit this.

[0064] 4. Read unit of the screening object

[0065] The read unit of the screening object is configured to read the screening object according to the address information of the screening object.

[0066] In the specific implementation, the read unit of the screening object can be connected with the storage unit of the screening object, as shown in Figure 3

[0067] ​For example, after receiving the interrupt control and analyzing the storage location of the screening object contained in the interrupt control, the screening object reading unit reads the screening object from the storage location of the screening object storage unit through the connection.

[0068] The screening object storage unit is located outside the screening module provided in the embodiment.

[0069] In the specific implementation, referring to Figure 4 , the screening object reading unit and the reference object reading unit are kept synchronized through coordinated scheduling.

[0070] 5. The reference object reading unit

[0071] The reference object reading unit is configured to read the reference object according to the configuration information of the screening module and the configuration information of the reference object.

[0072] In the specific implementation, referring to Figure 3 , the reference object reading unit can be connected with the reference object storage unit. The reference object reading unit can read the reference object from the reference object storage unit through the connection.

[0073] The reference object reading unit is configured to read the reference object according to the configuration information of the screening module and the configuration information of the reference object after the reference object reading trigger is acquired.

[0074] In the specific implementation, referring to Figure 4 , the reference object reading trigger can be generated by the screening object processing module according to the storage information of the judgment result storage unit.

[0075] The reference object storage unit, the judgment result storage unit, and the screening object processing module are all located outside the screening module provided in the embodiment.

[0076] The reference object storage unit and the screening object storage unit can be the same storage unit, but the reference object and the screening object are stored in different locations of the storage unit. The reference object storage unit and the screening object storage unit can also be different storage units.

[0077] The screening object processing module can be one, which can acquire the processing progress of each screening unit. There can also be multiple, such as Figure 4 In the specific implementation, referring to , the number of screening object processing modules is the same as the number of screening units, and the screening object processing modules correspond to the screening units one by one. The screening object processing modules can acquire the processing progress of the corresponding screening units and further generate the reference object reading trigger, which is acquired by the reference object reading unit.

[0078] The reading unit of the reference object is configured to read the reference objects respectively through the plurality of buffer registers.

[0079] Specifically, the reading unit of the reference object is configured to, when the screening module is executed for the first time or after the reading trigger of the reference object is acquired, determine whether there is a reference object that has not been read by the buffer registers according to the configuration information of the screening module and the configuration information of the reference object. If it is determined that there is a reference object that has not been read by the buffer registers, it is determined whether there is a target buffer register in the plurality of buffer registers. If there is a target buffer register, the first quantity of reference objects are read through the target buffer register.

[0080] If the quantity of reference objects that have not been read by the buffer registers is less than the preset first unit reading quantity, the first quantity is the quantity of reference objects that have not been read by the buffer registers, otherwise, the first quantity is the first unit reading quantity.

[0081] In addition, the reading unit of the reference object is configured to determine whether there is an empty buffer register in all the buffer registers. If there is an empty buffer register, it is determined that there is a target buffer register, and the empty buffer register is determined as the target buffer register. If there is no empty buffer register, it is determined whether there is a buffer register that has completed processing. The reference objects in the buffer register that has completed processing are all subjected to target condition judgment with each screening object. If there is a buffer register that has completed processing, it is determined that there is a target buffer register, and the buffer register that has completed processing is determined as the target buffer register.

[0082] The implementation details of the reading unit of the reference object reading the reference objects respectively through the plurality of buffer registers will be described below:

[0083] The reading unit of the reference object reads the reference objects respectively through the plurality of buffer registers by the following steps 101 and 102.

[0084] 101, when the screening module is executed for the first time or the reading unit of the reference object acquires the reading trigger of the reference object, and it is determined that there is a reference object that has not been read by the buffer registers, it is determined whether there is a target buffer register in all the buffer registers.

[0085] When the screening module is executed for the first time, the reading unit of the reference object will execute 101 to read the reference objects through the buffer registers.

[0086] The reference object reading trigger is generated based on the processing of the screening unit. If the number of screening objects for which the screening unit has completed judging reaches the proportion threshold, it means that the screening unit will soon complete the target condition judging task between the current reference object and each screening object. At this time, the reference object reading trigger is generated to read a new reference object and then perform target condition judging between the new reference object and each screening object. The screening object processing module obtains the reference object reading trigger and transmits the reference object reading trigger to the screening object processing module to trigger the screening object processing module to perform step 101.

[0087] Based on the reference object reading trigger, the reading progress of the reference objects can be flexibly controlled, and an appropriate number of reference objects can be read at an appropriate time. Since the acquisition of the reference objects requires a certain acquisition time and a certain storage space, flexibly controlling the reading progress of the reference objects avoids the time consumption and space consumption caused by too early acquisition of the reference objects and also avoids the impact of too late acquisition of the reference objects on the execution of the screening task.

[0088] In addition, the process of determining whether there is a reference object that has not been read by the buffer register can include reading configuration information of the reference objects, determining the total number of the reference objects, the first unit reading quantity, and the like based on the configuration information, and determining, according to the configuration information and the number of reference objects that have been acquired, whether there is a reference object that has not been read by the buffer register and the number of reference objects that have not been read by the buffer register.

[0089] If the reference object reading trigger is obtained and it is determined that there is a reference object that has not been read by the buffer register, it means that there is a screening unit that will soon complete processing and the screening task is not completed. At this time, the reference objects are continuously acquired and screening work is performed on the newly acquired reference objects. Therefore, if the reference object reading trigger is obtained and it is determined that there is a reference object that has not been read by the buffer register, it is determined in all buffer registers whether there is a target buffer register.

[0090] The process of determining the target buffer register is as follows:

[0091] If there is an empty buffer register, it is determined that there is a target buffer register, and the empty buffer register is determined as the target buffer register.

[0092] If there is no empty buffer register, it is determined whether there is a buffer register that has completed processing. If there is a buffer register that has completed processing, it is determined that there is a target buffer register, and the buffer register that has completed processing is determined as the target buffer register.

[0093] The reference objects in the buffer register that has completed processing are subjected to target condition judging with each screening object.

[0094] That is, the empty buffer register is determined as the target buffer register first. If there is no empty buffer register, the buffer register in which all the reference objects have completed the target condition judgment (i.e., the target objects in the buffer register have all completed the processing) is determined as the target buffer register. It can be seen that the target buffer register is the buffer register in which the new target objects can be stored, i.e., the empty buffer register, or the buffer register in which all the target data stored therein has completed the screening processing.

[0095] 102, if there is a target buffer register, the reading unit of the reference object reads the first number of reference objects from the storage location of the reference object through the target buffer register.

[0096] If the number of reference objects not read by the buffer register is less than the preset first unit reading number, the first number is the number of reference objects not read by the buffer register, otherwise, the first number is the first unit reading number.

[0097] If there is only one target buffer register, the first number of reference objects are read from the storage location of the reference object through the target buffer register. If there are multiple target buffer registers, one is randomly selected or selected according to certain selection conditions (such as selecting the target buffer register that has not been selected for the longest time), and the first number of reference objects are read from the storage location of the reference object through the target buffer register.

[0098] If the number of reference objects not read by the buffer register is less than the minimum selection number (i.e., the first unit reading number), all the reference objects not read by the buffer register are read. If the number of reference objects not read by the buffer register is not less than the minimum selection number (i.e., the first unit reading number), the minimum selection number (i.e., the first unit reading number) of reference objects not read by the buffer register are read.

[0099] Taking the case that there are two buffer registers (such as buffer register 0 and buffer register 1), the first unit reading number is 24, and the number of reference objects not read by the buffer register is more than 24 as an example, when the reference objects in one buffer register (such as buffer register 0) are subjected to the target condition judgment by the screening unit, the other buffer register (buffer register 1) is determined as the target buffer register. 24 reference objects are read from the storage location of the reference object through the buffer register 1, and at this time, the buffer register 1 will store the 24 reference objects just read.

[0100] The above scheme of reading the reference objects through the target buffer register can effectively improve the reading efficiency of the reference objects by the reading unit. Since the reading unit of the reference objects needs multiple cycles to read the reference objects from the storage location of the reference objects, when the reference objects are read, the reference objects in the buffer register are subjected to the target condition judgment while the reference objects are read through the buffer register without the reference objects subjected to the target condition judgment. When all the reference objects in the current buffer register complete the target condition judgment, the other buffer registers have completed the reading of new reference objects. At this time, the target condition judgment of the reference objects in the other buffer registers can be immediately processed, and the timely switching of the multiple buffer registers is realized.

[0101] Taking two buffer registers (e.g., buffer register 0 and buffer register 1) as an example, during the target condition judgment of the reference objects in the buffer register 0, the buffer register 1 reads the reference objects from the storage location of the reference objects. When the target condition judgment of the reference objects in the buffer register 0 is completed, the target condition judgment of the reference objects in the buffer register 1 is immediately switched to, and at this time, the buffer register 0 can read the reference objects. The use of two buffer registers can realize the prefetching of data, the immediate switching of the reference objects, and the avoidance of the idle waiting of the hardware.

[0102] In addition, after the reading of the reference objects, the reading unit of the reference objects is further configured to group the reference objects read by the target buffer register. The reference objects in each group are input to different processing units.

[0103] When the buffer register is selected, the reading unit of the reference objects selects the buffer register in which the first unit reading quantity of the reference objects have been stored and all the reference objects have not been subjected to the target condition judgment by the screening unit.

[0104] After the selection of the buffer register, the reading unit of the reference objects groups the reference objects in the buffer register, and inputs the reference objects in each group to different processing units, so that the parallel processing of the reference objects in the buffer register is realized through the parallel processing of the multiple processing units, and the processing speed is improved.

[0105] The grouping process is as follows:

[0106] If the total quantity of the target reference objects is The reading unit of the reference objects divides the target reference objects into groups, one reference object in each group. In the above embodiment, n GFor the number of screening units, the target reference objects are the reference objects read by the selected buffer memory. That is, if the number of reference objects in the buffer register is less than the number of screening units, that is, it cannot be guaranteed that each screening unit processes one reference object, then each reference object is divided into a group, that is, if there are several reference objects, they are divided into several groups.

[0107] If The reading unit of the reference object will determine the remainder If RE = 0, it means that the number of reference objects is a multiple of the number of screening units, so the target reference objects are evenly divided into n G groups (for example n G = 6, the target reference objects are evenly divided into 6 groups, each group has 4 reference objects). If RE ≠ 0, it means that the number of reference objects is not a multiple of the number of screening units, so select reference objects from the target reference objects, and divide them into n G groups, and in all groups, RE groups are randomly selected, and one ungrouped target reference object is added to each group (for example n G = 6, randomly select 24 target reference objects and divide them into 6 groups, each group has 4 reference objects, and randomly add the remaining 2 reference objects to 2 groups, so it is still divided into 6 groups, but the number of reference objects in each group is not the same, 2 groups have 5 reference objects, and 4 groups have 4 reference objects).

[0108] In addition, after grouping, the reading unit of the reference object will input each group of reference objects to different processing units, so that each group of reference objects can be processed by the screening unit at the same time, that is, the target condition between each group of reference objects and each screening object is determined by multiple screening units. The input process can be as follows:

[0109] 1. From all screening units, determine the processing screening unit.

[0110] Among them, the number of processing screening units is the same as the number of groups.

[0111] Based on the above description of the grouping process, the number of groups finally obtained by the reading unit of the reference object is equal to the number of screening units, or less than the number of screening units.

[0112] If the number of groups finally obtained is equal to the number of screening units, all screening units will be determined as the determined processing screening unit.

[0113] If the number of groups finally obtained is less than the number of screening units, the number of groups will be determined from the screening units. For example, 1 group is finally obtained, and the screening unit has 2, so 1 will be selected from the screening unit as the processing screening unit.

[0114] For the case that the number of the final resulting groups is less than the number of the screening units, the processing screening unit selection scheme can be selected according to a pre-set screening unit selection scheme. For example, the screening unit selection scheme is to randomly select a number of groups of screening units that have not been processed (i.e. to randomly select a number of groups of screening units that have not been working), then a number of screening units that have not been working and have not been processed are selected from the screening units, and a number of screening units that have not been working and have not been processed are randomly selected from the selected screening units as the processing screening units (for example, the number of groups is 1, the number of screening units is 3, which are screening unit 1, screening unit 2 and screening unit 3, wherein screening unit 1 is working, and screening unit 2 and screening unit 3 have not been processed, then one of screening unit 2 and screening unit 3 is randomly selected as the processing screening unit). For another example, the screening unit selection scheme is to select a number of groups of screening units that have not been selected for the longest time (i.e. to randomly select a number of groups of screening units that have not been working for the longest time), then a number of screening units that have not been working and have not been processed are selected from the screening units, the duration of the screening units that have not been working and have not been processed is determined, and a number of screening units that have not been working for the longest time are selected as the processing screening units (for example, the number of groups is 1, the number of screening units is 3, which are screening unit 1, screening unit 2 and screening unit 3, wherein screening unit 1 is working, and screening unit 2 and screening unit 3 have not been processed, then the duration of screening unit 2 that has not been working and has not been processed is determined, the duration of screening unit 3 that has not been working and has not been processed is determined, and one of screening unit 2 and screening unit 3 that has not been working for the longest time is selected as the processing screening unit).

[0115] The screening processing work described in the embodiment is to "perform target condition judgment between the reference object and the selected screening object, and write the judgment result into the corresponding judgment result storage unit".

[0116] Through this step, it can be ensured that the number of processing screening units and the number of groups are the same.

[0117] It should be noted that the processing screening unit is actually a screening unit, but it is currently selected and renamed as a processing screening unit.

[0118] 2. The reference object reading unit inputs a group of reference objects to each processing screening unit.

[0119] Among them, the groups input to each processing screening unit are different.

[0120] Since the processing screening units and the number of groups are the same, the reading unit of the benchmark object can input the benchmark object of a group to each processing screening unit, and further trigger the processing screening unit to process the screening processing work of the group of benchmark objects, and multiple processing screening units process the screening processing work at the same time, realize the parallel execution of the screening processing work, effectively shorten the execution time of the screening module provided by the embodiment, and quickly and accurately complete the screening work.

[0121] For example, divided into 6 groups, 4 benchmark objects in each group, and 6 processing screening units, the benchmark objects of group 1 are input to processing screening unit 1, and further processing screening unit 1 processes the screening processing work of group 1 benchmark objects. The benchmark objects of group 2 are input to processing screening unit 2, and further processing screening unit 2 processes the screening processing work of group 2 benchmark objects. The benchmark objects of group 3 are input to processing screening unit 3, and further processing screening unit 3 processes the screening processing work of group 3 benchmark objects. The benchmark objects of group 4 are input to processing screening unit 4, and further processing screening unit 4 processes the screening processing work of group 4 benchmark objects. The benchmark objects of group 5 are input to processing screening unit 5, and further processing screening unit 5 processes the screening processing work of group 5 benchmark objects. The benchmark objects of group 6 are input to processing screening unit 6, and further processing screening unit 6 processes the screening processing work of group 6 benchmark objects. The 6 processing screening units process the screening processing work at the same time, realize the parallel execution of the screening processing work.

[0122] 6, interrupt analysis unit

[0123] The interrupt analysis unit is used to receive the interrupt control and analyze the storage location of the screening object contained in the interrupt control.

[0124] The interrupt analysis unit is used to receive the interrupt control and analyze the Block address and Block number of the screening object contained in the interrupt control.

[0125] 7, multiple screening units

[0126] The screening units are independent.

[0127] The screening unit is used to judge the target condition between the benchmark object and each screening object, and obtain the screening result.

[0128] In specific implementation, refer to Figure 3 The screening unit is connected with the judgment result storage unit, and the judgment result of the screening unit is stored in the connected judgment result storage unit. The judgment result storage units are independent.

[0129] Among them, the judgment result storage unit and the screening object processing module are located outside the screening module provided by the embodiment.

[0130] The screening units are used to read the second number of screening objects from the FIFO memory of the screening objects by the read pointers one by one. The read pointers corresponding to the screening units are different.

[0131] In the implementation, the screening unit inputting the basic data by the read unit of the reference object is named as a processing screening unit. Each processing screening unit selects the second number of screening objects one by one, judges the target condition between the reference object and the selected screening object, and writes the judging result into the corresponding judging result storage unit.

[0132] The judging result storage units corresponding to the processing screening units are independent of each other.

[0133] Taking the second number 8 as an example, if the processing screening unit 1 processes the screening of the reference object of the group 1, the processing screening unit 1 first selects 8 screening objects, judges the target condition between the selected 8 screening objects and the 4 reference objects, and writes the judging result into the corresponding judging result storage unit. After the processing of the 8 screening objects, the processing screening unit 1 selects 8 screening objects again, judges the target condition between the selected 8 screening objects and the 4 reference objects, and writes the judging result into the corresponding judging result storage unit. In this way, the processing screening unit 1 selects 8 screening objects each time, judges the target condition between the reference object and the selected screening object, and writes the judging result into the corresponding judging result storage unit until all the screening objects are selected by the processing screening unit 1, and the target condition judgment is completed.

[0134] In this process, the following points need to be explained:

[0135] 1) Each processing screening unit selects the screening objects in multiple times with the second number as the unit number until all the screening objects are selected, and the target condition judgment between the reference object of the group and all the screening objects is completed.

[0136] That is to say, the reference object involved in the whole screening processing work of each processing screening unit is unchanged, and the screening object is changed. In addition, the reference objects between the processing screening units are different, but the screening objects are the same, which are all the screening objects.

[0137] 2) In order to reduce the data amount of the judgment result, and further reduce the data amount of the write data, and reduce the time consumption of the write data, the processing screening unit can write the result meeting the target condition judgment into the corresponding judgment result storage unit according to the target condition judgment. For example, if the target condition judgment is to select the screening object with a distance less than a certain value from the reference object, then the information of the screening object with a distance less than a certain value from the reference object in the judgment result is output and written into the corresponding judgment result storage unit. This can greatly reduce the data amount of the judgment result, and further reduce the time consumption of writing the judgment result into the corresponding judgment result storage unit.

[0138] 3) In order to reduce the time consumption caused by the write data, any processing screening unit can not write the judgment result into the corresponding judgment result storage unit after obtaining the judgment result, but first cache the judgment result, and then write the judgment result into the corresponding judgment result storage unit after the judgment result is collected to a certain amount (for example, the collected judgment result reaches 512 bits).

[0139] 4) In order to prevent the judgment result storage unit from being insufficient in bandwidth, causing the blocking of writing the judgment result into the corresponding judgment result storage unit and / or the busy blocking of the write channel caused by too many judgment results, and further causing the stall signal to pause the work of the current processing screening unit, a plurality of judgment result storage subunits can be added outside the judgment result storage unit. Since the judgment result storage units corresponding to each processing screening unit are independent of each other, the judgment result storage subunits are also independent of each other, that is, there is no sharing of the judgment result storage unit / judgment result storage subunit. In this way, each judgment result storage subunit has an address space, and each judgment result is stored in different judgment result storage subunits in segments, which enables a processing screening unit to write the final judgment result into two address spaces. In the writing process, the write data channels of the two address spaces are independent and the writing process is synchronous. After writing, the data written in the plurality of judgment result storage subunits is merged, and the merged data is written into the corresponding judgment result storage unit.

[0140] For example, the information of the screening object whose distance to the reference object is less than a certain value is determined, and the information includes (x, y, z, q), wherein x, y, z represent the three-dimensional position of the screening object, and q represents the information carried by the screening object. If there are two judgment result storage subunits, which are judgment result storage subunit 1 and judgment result storage subunit 2, then (x, y, z, q) can be divided into two parts, (x, y) and (z, q), (x, y) is written into the judgment result storage subunit 1, and (z, q) is written into the judgment result storage subunit 2. After writing, (x, y) written in the judgment result storage subunit 1 and (z, q) written in the judgment result storage subunit 2 are merged, and the merged (x, y, z, q) is written into the corresponding judgment result storage unit.

[0141] 5) The process of the processing screening unit selecting the second number of screening objects can be implemented based on the read pointer of the FIFO memory of the screening object.

[0142] The FIFO memory of the screening object includes a write pointer and multiple read pointers. The multiple read pointers can avoid the read conflict caused by the selection of the screening object by the multiple processing screening units through one read pointer.

[0143] That is, for each processing screening unit, the second number of screening objects are read from the FIFO memory of the screening object through different read pointers of the FIFO memory of the screening object in the process of sequentially selecting the second number of screening objects. In this way, the multiple processing screening units can simultaneously read the screening objects through different read pointers, ensuring the reading efficiency of the screening objects, and thus the screening work can be quickly and accurately completed.

[0144] In this way, after the processing screening unit completes the target condition judgment between the reference object and the selected current screening object and writes the judgment result into the corresponding judgment result storage unit, the second number of screening objects are actively selected again through a read pointer for the next processing. This allows each processing screening unit to be independently executed, avoiding the influence of the execution of other processing screening units due to the blocking of one processing screening unit.

[0145] Taking two processing screening units as an example, because the processing conditions of the two processing screening units are different, the writing into the judgment result storage unit is also different. In order to avoid the influence of the writing stall of one processing screening unit on the screening processing work of another processing screening unit, the implementation of the two screening processing works is relatively independent, which can improve the performance.

[0146] In addition, by screening the FIFO memory of the object, a plurality of read pointers can be used, so that each processing screening unit corresponds to a read pointer, such as processing screening unit 0 corresponding to read pointer 0, and processing screening unit 1 corresponding to read pointer 1. Each processing screening unit only reads the screening object through its corresponding read pointer. If the processing screening unit 1 processes faster, it can continuously read the screening object through the read pointer 1, while the read pointer 0 of the processing screening unit 0 still points to the original data, and the read speed of the processing screening unit 0 for the screening object does not affect the read accuracy of the processing screening unit 1.

[0147] In this way, the processing screening unit that processes faster can select the screening object multiple times,

[0148] When a processing screening unit completes the target condition judgment between all reference objects of the corresponding group and the selected screening object, and writes the judgment result into the corresponding judgment result storage unit, a work stop signal is sent, which indicates that the processing unit is not processing (i.e., not working).

[0149] When all processing screening units complete the target condition judgment between all reference objects of the corresponding group and the selected screening object, and write the judgment result into the corresponding judgment result storage unit, i.e., all processing screening units send a work stop signal, all reference objects read by the current buffer register complete the target condition judgment work.

[0150] In a specific implementation, the processing screening unit can monitor the number of processing screening units that send the work stop signal. If the number of processing screening units that send the work stop signal accounts for a certain proportion of the total number of all processing screening units, a reference object reading trigger is generated. The screening object processing module obtains the reference object reading trigger and transmits the reference object reading trigger to the screening object processing module, triggering the screening object processing module to perform step 101. In this way, the screening module provided by the embodiment can continuously perform screening work and quickly and accurately complete the screening work.

[0151] The screening module provided by the embodiment repeatedly selects a target buffer register to group the reference objects read by the target buffer register and input each group of reference objects into different processing units for subsequent screening processing work when there are still reference objects that have not been subjected to target condition judgment after all reference objects read by one buffer register complete the target condition judgment work. If all reference objects are subjected to target condition judgment with each screening object, the judgment results at this time constitute the screening result, and the screening work is completed.

[0152] In addition, when all the judgment results are summarized, the results can be sorted, for example, the filtered objects are sorted based on the average distance from the reference objects.

[0153] That is, the reading unit of the reference objects in the screening module provided in the embodiment can group the reference objects (such as 24 reference objects) in one buffer register at a time (such as 6 groups, each group with 4 reference objects), and then read only one group of reference objects through multiple processing screening units (such as 6 processing screening units), each processing screening unit selects multiple filtered objects (such as 8 filtered objects) in turn, performs target condition judgment between the reference objects and the selected filtered objects, and writes the judgment results into the corresponding judgment result storage unit.

[0154] In the target condition judgment process between the reference objects in the buffer register and all the filtered objects, when the proportion of the reference objects that have completed the judgment to the total number of the reference objects in the buffer register reaches a certain proportion, a reference object reading trigger is generated, at which time the reading unit of the reference objects will read new reference objects (such as 24 reference objects) through other buffer registers.

[0155] After the reference objects in the buffer register have completed the target condition judgment with all the filtered objects, the reading unit of the reference objects selects new reference objects for grouping and inputs each group of reference objects into different processing units, and then performs target condition judgment between the other 24 reference objects and all the filtered objects.

[0156] In this way, the continuous screening process of the reference particles can be realized, and the screening work can be quickly and accurately completed.

[0157] It should be noted that the reference objects in the embodiment are different according to different application scenarios, such as reference particles in molecular dynamics simulation, and class center vectors in clustering scenarios. The filtered objects in the embodiment are different according to different application scenarios, such as filtered particles in molecular dynamics simulation, and vectors to be classified in clustering scenarios. The target condition in the embodiment is different according to different application scenarios, such as selecting filtered particles with a distance less than a certain range from the reference objects in molecular dynamics simulation.

[0158] The embodiment provides a screening module, which comprises a screening module configuration unit, a reference object configuration unit, a first-in-first-out (FIFO) memory of screening objects, a reading unit of screening objects, a reading unit of reference objects, an interrupt analysis unit and a plurality of screening units; wherein the screening module configuration unit is connected with the reading unit of screening objects and the reading unit of reference objects respectively; the reference object configuration unit is connected with the reading unit of reference objects; the interrupt analysis unit is connected with the reading unit of screening objects; the reading unit of screening objects is connected with the FIFO memory of screening objects; and the reading unit of reference objects and the FIFO memory of screening objects are connected with each screening unit respectively. The screening module provided by the embodiment can quickly and accurately complete the screening work.

[0159] Based on the same inventive concept of the screening module, a screening device comprises any screening module shown in the above Figures 2 to 4 .

[0160] Specifically, the screening module comprises a screening module configuration unit, a reference object configuration unit, a first-in-first-out (FIFO) memory of screening objects, a reading unit of screening objects, a reading unit of reference objects, an interrupt analysis unit and a plurality of screening units.

[0161] The screening module configuration unit is connected with the reading unit of screening objects and the reading unit of reference objects respectively.

[0162] The reference object configuration unit is connected with the reading unit of reference objects.

[0163] The interrupt analysis unit is connected with the reading unit of screening objects.

[0164] The reading unit of screening objects is connected with the FIFO memory of screening objects.

[0165] The reading unit of reference objects and the FIFO memory of screening objects are connected with each screening unit respectively.

[0166] Optionally, the screening module configuration unit is used for storing configuration information of the screening module.

[0167] The reference object configuration unit is used for storing configuration information of the reference object.

[0168] The screening units are independent.

[0169] The reading unit of reference objects is used for reading the reference object according to the configuration information of the screening module and the configuration information of the reference object.

[0170] The interrupt analysis unit is used for receiving interrupt control and analyzing the storage position of the screening object contained in the interrupt control.

[0171] A read unit of the screening object is configured to read the screening object according to the address information of the screening object.

[0172] A FIFO memory of the screening object is configured to store the read screening object.

[0173] A screening unit is configured to perform a target condition judgment between the reference object and each screening object to obtain a screening result.

[0174] Optionally, the read unit of the reference object is connected with the storage unit of the reference object.

[0175] The read unit of the screening object is connected with the storage unit of the screening object.

[0176] The screening unit is connected with the judgment result storage unit, and the judgment result of the screening unit is stored in the connected judgment result storage unit. Each judgment result storage unit is independent.

[0177] The read unit of the screening object and the read unit of the reference object are kept synchronous through coordinated scheduling.

[0178] The read unit of the reference object is configured to read the reference object according to the configuration information of the screening module and the configuration information of the reference object after obtaining a reference object read trigger.

[0179] The trigger of the reference object read is generated by the screening object processing module according to the storage information of the judgment result storage unit.

[0180] Optionally, the read unit of the reference object is configured to determine whether there is a reference object that has not been read by the buffer register according to the configuration information of the screening module and the configuration information of the reference object when the screening module is executed for the first time or after obtaining the reference object read trigger. If it is determined that there is a reference object that has not been read by the buffer register, it is determined whether there is a target buffer register in the plurality of buffer registers. If there is a target buffer register, the first number of reference objects are read through the target buffer register.

[0181] If the number of reference objects that have not been read by the buffer register is less than a preset first unit read number, the first number is the number of reference objects that have not been read by the buffer register, otherwise, the first number is the first unit read number.

[0182] Optionally, the reading unit of the reference object is configured to determine whether there is an empty buffer register in all buffer registers. If there is an empty buffer register, it is determined that there is a target buffer register, and the empty buffer register is determined as the target buffer register. If there is no empty buffer register, it is determined whether there is a buffer register that has completed processing. The reference objects in the buffer register that has completed processing are all subjected to target condition judgment with each screening object. If there is a buffer register that has completed processing, it is determined that there is a target buffer register, and the buffer register that has completed processing is determined as the target buffer register.

[0183] Optionally, the reading unit of the reference object is configured to group the reference objects read by the target buffer register. Each group of reference objects is input into a different processing unit.

[0184] Optionally, the FIFO memory of the screening object includes one write pointer and multiple read pointers.

[0185] The FIFO memory of the screening object is configured to write the screening objects into the FIFO memory through the write pointer.

[0186] The screening unit is configured to sequentially read the second number of screening objects from the FIFO memory of the screening object through the read pointers. The corresponding read pointers of each screening unit are different.

[0187] The screening device provided by the embodiment can quickly and accurately complete the screening work.

[0188] Based on the same inventive concept of the screening module, an electronic device includes a screening device, which includes any of the screening modules shown in the above Figures 2 to 4

[0189] Specifically, the screening module includes a screening module configuration unit, a reference object configuration unit, a first-in-first-out FIFO memory of screening objects, a reading unit of screening objects, a reading unit of reference objects, an interrupt analysis unit, and multiple screening units.

[0190] The screening module configuration unit is connected with the reading unit of the screening objects and the reading unit of the reference objects, respectively.

[0191] The reference object configuration unit is connected with the reading unit of the reference objects.

[0192] The interrupt analysis unit is connected with the reading unit of the screening objects.

[0193] The reading unit of the screening objects is connected with the FIFO memory of the screening objects.

[0194] The reading unit of the reference objects and the FIFO memory of the screening objects are connected with each screening unit, respectively.​

[0195] Optionally, the screening module configuration unit is configured to store configuration information of the screening module.

[0196] The reference object configuration unit is configured to store configuration information of the reference object.

[0197] The screening units are independent.

[0198] The reference object reading unit is configured to read the reference object according to the configuration information of the screening module and the configuration information of the reference object.

[0199] The interrupt resolution unit is configured to receive an interrupt control and resolve a storage location of the screening object contained in the interrupt control.

[0200] The screening object reading unit is configured to read the screening object according to the address information of the screening object.

[0201] The FIFO memory of the screening object is configured to store the read screening object.

[0202] The screening unit is configured to perform target condition judgment between the reference object and each screening object to obtain a screening result.

[0203] Optionally, the reference object reading unit is connected to the reference object storage unit.

[0204] The screening object reading unit is connected to the screening object storage unit.

[0205] The screening unit is connected to the judgment result storage unit, and the judgment result of the screening unit is stored in the connected judgment result storage unit. The judgment result storage units are independent.

[0206] The screening object reading unit and the reference object reading unit are kept synchronized through coordinated scheduling.

[0207] The reference object reading unit is configured to read the reference object according to the configuration information of the screening module and the configuration information of the reference object after the reference object reading trigger is obtained.

[0208] The reference object reading trigger is generated by the screening object processing module according to the storage information of the judgment result storage unit.

[0209] Optionally, the reading unit of the reference objects is configured to determine, when the screening module is executed for the first time or after the reading trigger of the reference objects is acquired, whether there are reference objects that are not read by the buffer registers according to the configuration information of the screening module and the configuration information of the reference objects. If it is determined that there are reference objects that are not read by the buffer registers, it is determined whether there is a target buffer register in the plurality of buffer registers. If there is a target buffer register, the first quantity of reference objects are read through the target buffer register.

[0210] The first quantity is the quantity of reference objects that are not read by the buffer registers if the quantity of reference objects that are not read by the buffer registers is less than a preset first unit reading quantity, otherwise, the first quantity is the first unit reading quantity.

[0211] Optionally, the reading unit of the reference objects is configured to determine whether there is an empty buffer register in all the buffer registers. If there is an empty buffer register, it is determined that there is a target buffer register, and the empty buffer register is determined as the target buffer register. If there is no empty buffer register, it is determined whether there is a buffer register that has completed processing. The reference objects in the buffer register that has completed processing are all subjected to target condition judgment with each screening object. If there is a buffer register that has completed processing, it is determined that there is a target buffer register, and the buffer register that has completed processing is determined as the target buffer register.

[0212] Optionally, the reading unit of the reference objects is configured to group the reference objects read by the target buffer register. The reference objects in each group are input into different processing units.

[0213] Optionally, the FIFO memory of the screening objects includes one write pointer and a plurality of read pointers.

[0214] The FIFO memory of the screening objects is configured to write the screening objects into the FIFO memory through the write pointer.

[0215] The screening unit is configured to sequentially read the second quantity of screening objects from the FIFO memory of the screening objects through the read pointers. The read pointers corresponding to the screening units are different.

[0216] The electronic device provided by the embodiment can quickly and accurately complete the screening work.

[0217] Based on the same inventive concept of the screening module, a computer readable storage medium is connected with the electronic device. The electronic device includes a screening device, and the screening device includes any of the screening modules shown in the above. Figures 2 to 4

[0218] The computer program is executed to realize the above.​Figures 2 to 4 Any of the screening modules shown.

[0219] In particular, the screening module comprises a screening module configuration unit, a reference object configuration unit, a first-in-first-out (FIFO) memory of screening objects, a reading unit of screening objects, a reading unit of reference objects, an interrupt analysis unit, and a plurality of screening units.

[0220] The screening module configuration unit is connected to the reading unit of screening objects and the reading unit of reference objects.

[0221] The reference object configuration unit is connected to the reading unit of reference objects.

[0222] The interrupt analysis unit is connected to the reading unit of screening objects.

[0223] The reading unit of screening objects is connected to the FIFO memory of screening objects.

[0224] The reading unit of reference objects and the FIFO memory of screening objects are connected to each screening unit.

[0225] Optionally, the screening module configuration unit is configured to store configuration information of the screening module.

[0226] The reference object configuration unit is configured to store configuration information of the reference object.

[0227] The screening units are independent.

[0228] The reading unit of reference objects is configured to read the reference object according to the configuration information of the screening module and the configuration information of the reference object.

[0229] The interrupt analysis unit is configured to receive an interrupt control and analyze a storage location of the screening object included in the interrupt control.

[0230] The reading unit of screening objects is configured to read the screening object according to address information of the screening object.

[0231] The FIFO memory of screening objects is configured to store the read screening object.

[0232] The screening units are configured to perform target condition judgment between the reference object and each screening object to obtain a screening result.

[0233] Optionally, the reading unit of reference objects is connected to a storage unit of reference objects.

[0234] The reading unit of screening objects is connected to a storage unit of screening objects.

[0235] The screening unit is connected with the judgment result storage unit, and the judgment result of the screening unit is stored in the connected judgment result storage unit. The judgment result storage units are independent.

[0236] The reading unit of the screening object and the reading unit of the reference object are kept synchronized through coordinated scheduling.

[0237] The reading unit of the reference object is configured to, after obtaining a reference object reading trigger, read the reference object according to configuration information of the screening module and configuration information of the reference object.

[0238] The trigger of the reference object reading is generated by the screening object processing module according to the storage information of the judgment result storage unit.

[0239] Optionally, the reading unit of the reference object is configured to, when the screening module is executed for the first time or after obtaining the reference object reading trigger, determine whether there is a reference object that has not been read by the buffer register according to the configuration information of the screening module and the configuration information of the reference object. If it is determined that there is a reference object that has not been read by the buffer register, it is determined whether there is a target buffer register in the plurality of buffer registers. If there is a target buffer register, the first number of reference objects are read through the target buffer register.

[0240] If the number of reference objects that have not been read by the buffer register is less than a preset first unit reading number, the first number is the number of reference objects that have not been read by the buffer register, otherwise, the first number is the first unit reading number.

[0241] Optionally, the reading unit of the reference object is configured to determine whether there is an empty buffer register in all buffer registers. If there is an empty buffer register, it is determined that there is a target buffer register, and the empty buffer register is determined as the target buffer register. If there is no empty buffer register, it is determined whether there is a buffer register that has completed processing. The reference objects in the buffer register that has completed processing are all subjected to target condition judgment with each screening object. If there is a buffer register that has completed processing, it is determined that there is a target buffer register, and the buffer register that has completed processing is determined as the target buffer register.

[0242] Optionally, the reading unit of the reference object is configured to group the reference objects read by the target buffer register. The reference objects in each group are input into different processing units.

[0243] Optionally, the FIFO memory of the screening object includes a write pointer and a plurality of read pointers.

[0244] The FIFO memory of the screening object is configured to write the screening object into the FIFO memory through the write pointer.

[0245] The screening unit is used for reading the second number of screening objects from the FIFO memory of the screening objects by a read pointer in sequence. The read pointers corresponding to the screening units are different.

[0246] The computer readable storage medium provided by the embodiment can quickly and accurately complete the screening work.

[0247] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage, etc.) containing computer-usable program code. The solutions in the embodiments of the present application can be implemented in various computer languages, such as the object-oriented programming language Java and the interpreted scripting language JavaScript.

[0248] The present application is described with reference to flowcharts and / or block diagrams according to the methods, devices (systems), and computer program products of the embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing apparatus to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing apparatus generate a means for implementing the functions specified in the flowcharts and / or block diagrams. Figure 1 The functions specified in one or more flows and / or blocks. Figure 1 The functions specified in one or more flows and / or blocks.

[0249] These computer program instructions can also be stored in a computer-readable memory capable of guiding a computer or other programmable data processing apparatus to work in a specific manner, so that the instructions stored in the computer-readable memory produce a product including instruction means, which implements the functions specified in the flowcharts and / or block diagrams. Figure 1 The functions specified in one or more flows and / or blocks. Figure 1 The functions specified in one or more flows and / or blocks.

[0250] These computer program instructions can also be loaded into a computer or other programmable data processing apparatus, so that a series of operation steps are performed on the computer or other programmable data processing apparatus to produce a computer-implemented process, so that the instructions executed on the computer or other programmable data processing apparatus provide a means for implementing the functions specified in the flowcharts and / or block diagrams. Figure 1 The functions specified in one or more flows and / or blocks. Figure 1 The functions specified in one or more flows and / or blocks.

[0251] While the preferred embodiments of the application have been described, additional variations and modifications can be made to the preferred embodiments by those of skill in the art once they have the benefit of the present disclosure. Therefore, the appended claims are intended to encompass within their scope all possible alternatives and modifications to the preferred embodiments.

[0252] It is apparent that those skilled in the art can make various changes and modifications to the application without departing from the spirit and scope of the application. It is therefore intended to include within the ambit of the application all such changes and modifications as fall within the scope of the claims and their equivalents.

Claims

1. A screening device, characterized in that, The screening module comprises a screening module configuration unit, a reference object configuration unit, a first-in-first-out (FIFO) memory of screening objects, a reading unit of screening objects, a reading unit of reference objects, an interrupt analysis unit, and a plurality of screening units. The screening module configuration unit is connected to the reading unit of screening objects and the reading unit of reference objects. The reference object configuration unit is connected to the reading unit of reference objects. The interrupt analysis unit is connected to the reading unit of screening objects. The reading unit of screening objects is connected to the FIFO memory of screening objects. The reading unit of reference objects and the FIFO memory of screening objects are connected to each screening unit. The screening module configuration unit is configured to store configuration information of the screening module. The reference object configuration unit is configured to store configuration information of the reference objects. The screening units are independent. The reading unit of reference objects is configured to read reference objects according to the configuration information of the screening module and the configuration information of the reference objects. The interrupt analysis unit is configured to receive an interrupt control and analyze a storage location of screening objects included in the interrupt control. The reading unit of screening objects is configured to read screening objects according to address information of the screening objects. The FIFO memory of screening objects is configured to store the read screening objects. The screening units are configured to perform target condition judgment between the reference objects and each screening object to obtain screening results.

2. The screening device of claim 1, wherein, The reading unit of reference objects is connected to a storage unit of reference objects. The reading unit of screening objects is connected to a storage unit of screening objects. The screening units are connected to a judgment result storage unit, and the judgment results of the screening units are stored in the connected judgment result storage unit. The judgment result storage units are independent. The reading unit of screening objects and the reading unit of reference objects are kept synchronized through coordinated scheduling. The reading unit of reference objects is configured to read reference objects according to the configuration information of the screening module and the configuration information of the reference objects when the screening module is executed for the first time or after a reference object reading trigger is obtained. The reference object reading trigger is generated by a screening object processing module according to storage information of the judgment result storage unit.

3. The screening device of claim 1, wherein, The reading unit of reference objects is configured to determine whether there are reference objects that have not been read by a buffer register after a reference object reading trigger is obtained according to the configuration information of the screening module and the configuration information of the reference objects, and determine whether there is a target buffer register among a plurality of buffer registers if it is determined that there are reference objects that have not been read by the buffer register, and read a first number of reference objects through a target buffer register if the target buffer register exists. If the number of reference objects that have not been read by the buffer register is less than a preset first unit reading number, the first number is the number of reference objects that have not been read by the buffer register, otherwise, the first number is the first unit reading number.

4. The screening device of claim 3, wherein, The reading unit of the reference object is configured to determine whether there is an empty buffer register in all buffer registers; if there is an empty buffer register, it is determined that there is a target buffer register, and the empty buffer register is determined as the target buffer register; if there is no empty buffer register, it is determined whether there is a buffer register that has completed processing; wherein the reference objects in the buffer register that has completed processing are all subjected to target condition judgment with each screening object; if there is a buffer register that has completed processing, it is determined that there is a target buffer register, and the buffer register that has completed processing is determined as the target buffer register.

5. The screening device of claim 3, wherein, The reading unit of the reference object is configured to group the reference objects read by the target buffer register; and input each group of reference objects into different processing units.

6. The screening device of claim 1, wherein, The FIFO memory of the screening object comprises one write pointer and multiple read pointers. The FIFO memory of the screening object is configured to write the screening objects into the FIFO memory through the write pointer. The screening unit is configured to sequentially read the second number of screening objects from the FIFO memory of the screening object through the read pointers; and the read pointers corresponding to the screening units are different.

7. An electronic device, comprising: The electronic device comprises the screening device of any one of claims 1-6.

8. A computer-readable storage medium, characterized in that, The computer readable storage medium is connected with the electronic device of claim 7; and the computer readable storage medium stores a computer program; and the computer program is executed to realize the screening device of any one of claims 1-6.

Citation Information

Patent Citations

  • FIFO storer control method and device

    CN103345377A

  • Particle screening method and device, electronic equipment and storage medium

    CN117358611A