EP4226256A1 - Procédé, et dispositif, de traitement, de données à fournir en entrée d'un premier registre à décalage d'un circuit électronique neuronal systolique - Google Patents
Procédé, et dispositif, de traitement, de données à fournir en entrée d'un premier registre à décalage d'un circuit électronique neuronal systoliqueInfo
- Publication number
- EP4226256A1 EP4226256A1 EP21790454.9A EP21790454A EP4226256A1 EP 4226256 A1 EP4226256 A1 EP 4226256A1 EP 21790454 A EP21790454 A EP 21790454A EP 4226256 A1 EP4226256 A1 EP 4226256A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- memory
- vector
- shift register
- processing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8046—Systolic arrays
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
Definitions
- TITLE Process and device for processing data to be supplied as input to a first shift register of a systolic neural electronic circuit
- the invention lies in the field of the implementation of convolutional-type neural processing (CNN) on reconfigurable calculation circuits in on-board equipment.
- CNN convolutional-type neural processing
- the fields of application of embedded neural networks are numerous, for example in image processing, and/or to classify data or detect specific elements on signals, etc.
- An effective way of implementing these processing operations is to implement a systolic architecture, which can take the form of an at least two-dimensional array of elementary processors (EPs), reduced to their purely arithmetic part, which are powered column by column by a progressively downward propagating input data stream (in a shift register).
- EPs elementary processors
- This organization on an FPGA ("field-programmable gate array") or an ASIC ("application-specific integrated circuit”), simplifies placement-routing operations and makes it possible to make the best use of circuit resources and integrate a large number (hundreds or thousands) of PEs.
- Systolic architectures make it possible to obtain very compact implementations of PEs reduced to their simplest expression, which in particular process the data which passes within their reach over time.
- CNN httDs://www.siaarch.org/dnn-accelerator-architecture-simd-or-svstolic
- the range of functionalities offered by the systolic grid largely depends on the composition of the data streams sent to it.
- the data flows entering or leaving the circuit are most of the time connected to one or more memories of the DDR (Double Data Rate) type, which require to be read or written by sequences of consecutive addresses, which reduces greatly the choice of the distribution of these data on the calculation grid.
- DDR Double Data Rate
- FIG. 1 In FIG. 1 are represented an external high capacity DDR memory 10 and a systolic neural electronic circuit 20.
- the circuit 20 is implemented by a programmable logic circuit, for example FGPA, and the DDR memory 10 is external to the FGPA.
- FGPA programmable logic circuit
- the circuit 20 comprises a grid 22, here in 2 dimensions (in other embodiments, the dimension is greater than two) of elementary processors PEs, arranged in columns and rows, a line 23 of memories, a system 27 of distribution of data.
- Each memory m is associated with a respective column of processors PEs.
- a memory m receives, from the data distribution system 27, the data that the PEs of the column which is associated with this memory will process and returns their calculation results to the distribution system 27.
- This data is initially supplied to the data distribution system 27 by the DDR memory 10 and the results are delivered by the data distribution system 27 to the DDR memory 10
- the distribution system 27 comprises two buses 28, 29 (which can in some cases be combined into a circular ring bus) adapted to each convey K data (K integer, here equal to 4, K can take any value greater than or equal to 1) every clock cycle.
- Bus 28 is a data input bus supplied by the DDR 10 memory and bus 29 is a results output bus intended for the DDR 10 memory.
- each of these buses 28, 29 operate as a shift register.
- a stage of the register corresponding to the input bus 28 supplies in parallel K (here therefore 4) column memories with data and the addresses of the memories for which these data are intended.
- a stage of the register corresponding to the output bus 29 collects in parallel K (here therefore 4) data coming from the memories m to which it is connected, and supplies the addresses where these data are written in the memories m..
- this data is part of the next stage of the register and is thus presented/collected to the next set of K memories m.
- the other line of memories, vertical which stores the CNN processing coefficients, has not been represented in figure 1.
- the DDR 10 memory contains the processing input data, for example groups of images called feature maps. This 3D data is stored dimension by dimension in the memory, typically line by line. Data of one dimension (typically row) is stored at consecutive addresses in DDR 10 memory. DDR 10 is read in address sequences sequences (bursts), with an initiation delay at each start of the burst which slows down the useful bit rate all the more as the burst is short.
- bursts address sequences sequences
- DDR 10 reads produce long sequences of adjacent pixels of the same line.
- the prior art way of connecting the DDR memory output port 10 to the distribution system 27 is to use a counter that generates consecutive addresses.
- Manufacturers like Xilinx provide IPs optimized for this type of function (IP CDMA for example).
- the dimension (the line) of the input table (or similarly a result) which is contiguous in DDR is found distributed identically on the column memories in the prior art ; once this DDR stream is connected to the data distribution system internal to the FPGA, each of the internal memories receives the pixel following that of its neighbor in the read line.
- Convolution is the weighted sum of consecutive or fixed-stepped input data (called dilation). Convolution can be applied to input data with several dimensions (row, column, channel, ). In the systolic architecture of the neural circuit 20, the calculations are parallelized by distributing one of the dimensions (generally the line) on the columns of the grid.
- a one-column PE then needs to access data that has been placed in neighboring columns.
- physical paths that give access to a few neighboring memories at the head of the column are generally added to the architecture; these extensions, beyond a certain width, are paid for in increased complexity and risk of limiting the clock frequency.
- the architecture can only execute convolutions with a width equal to the number of memories accessible from a column.
- FIG. 2 shows the data distribution of a row of a data structure (consecutive data of a row named D1, D2, D3, etc.), possibly multi-dimensional, presented as input to the systolic grid 22 for a convolution of the same dimension as the array of data stored in DDR 10. Only the row dimension can pose a problem, the other dimensions of the array being local to each memory m, and directly accessible to the PEs of the column associated with the memory m.
- the data above the columns are those stored in the columns by the distribution system 27, before the start of the calculations by the columns of PEs.
- the invention proposes a method for processing, in an electronic processing device, data to be supplied as input to a first shift register of a systolic neural electronic circuit comprising a grid of processors elementary processors, said first shift register conveying a data vector of size K at each clock cycle to K columns of elementary processors of said grid, said processing method comprising the following steps implemented by said electronic processing device : obtaining a sequence of successive data D(0), D(1), D(2) ... D(d) extracted by reading said data classified consecutively in a first storage memory and storing said data in a second memory of the processing device;
- the invention thus makes it possible, through this input/output data management solution, to implement adequate data flows and thus to reduce the limitations of the prior art in the performance of a systolic neural circuit, such as than convolution of width 1 to 3, loss of performance in case of stride greater than 1, etc.
- a processing method further comprises one or more of the following characteristics: the following steps implemented by said electronic processing device: o obtaining a data vector w of size K provided by a second shift register of the systolic neural circuit, said second shift register conveying at each clock cycle a data vector of size K corresponding to the results of K respective columns of elementary processors of said grid; o the K components of w being (w 0 , ...
- the present invention proposes a device for processing data to be supplied as input to a first shift register of a systolic neural electronic circuit comprising a grid of elementary processors, said first shift register being adapted to convey a vector of data of size K at each clock cycle intended for K columns of elementary processors of said grid, said electronic processing device being adapted to obtain a sequence of successive data D(0), D(1), D( 2)...D(d) extracted by reading said data classified consecutively in a first storage memory and for storing said data in a second memory of the processing device; said electronic processing device being adapted to generate vectors W(u) as a function of said stored data, each vector W(u) comprising K components (W(u)o, ...
- FIG 1 shows a schematic view of a 2D grid for calculating a systolic neural electronic circuit
- Figure 2 illustrates an input data distribution for a systolic neural circuit
- Figure 3 illustrates another distribution of input data for a systolic neural circuit, which may be implemented in one embodiment of the invention
- Figure 4 illustrates another distribution of input data for a systolic neural circuit, which may be implemented in one embodiment of the invention
- Figure 5 illustrates another distribution of input data for a systolic neural circuit, which may be implemented in one embodiment of the invention
- Figure 6 illustrates another distribution of input data for a systolic neural circuit, which may be implemented in one embodiment of the invention
- Figure 7 illustrates another distribution of input data for a systolic neural circuit, which may be implemented in one embodiment of the invention
- Figure 8 shows the steps of a method in one embodiment of the invention
- Figure 9 depicts a systolic neural system in one embodiment of the invention.
- Figure 9 shows a systolic neural system 1 in one embodiment of the invention. This system is for example embedded in an aircraft.
- the system 1 comprises a memory, for example mass storage, an electronic circuit physically implementing a neural network and a processing device 40.
- the memory is for example the DDR memory 10 as mentioned previously with reference to FIG. 1
- the electronic circuit is the systolic neural circuit 20 on FGPA as described in relation to FIG. 1
- the processing device 40 according to the invention is interposed between the DDR memory 10 and the circuit 20, for example in the FGPA.
- the processing device 40 comprises a memory MP 41 and a control block 42 comprising in particular a unit 420 for timing the operations.
- the control block 42 comprises for example a memory and a microprocessor (not shown), the memory comprising instructions software, which when executed on the microprocessor, implement the following operations, described in Figure 8.
- control block 42 obtains a sequence of successive data D(0), D(1), D(2)...D(d) extracted by reading, for example in burst, of said classified data consecutively in the memory 10 (for example the data of an image line, d being for example a value lying in the range going for example from 16 to 256 and stores said data in the memory MP 41 .
- control block 42 In a step 102, the control block 42 generates vectors W(u) as a function of said stored data, according to formula (1) described below.
- Each vector W(u) is made up of 4 components (W(u)o, ... , W(u) K -i) (remember that in the example K is equal to 4, as explained above with reference in Figure 1, but K can take any value).
- a step 103 the control block 42 successively supplies, at the input of the shift register 28, a vector W(u), for u an integer ranging from 0 to L1 -1 , and L1 a predefined constant strictly greater than one (for example strictly greater than 2), at each clock stroke, accompanied by the indication of the addresses of the K consecutive columns for which the K components of W(u) are intended.
- KO is a predefined constant
- steps S1 and S2 are predefined constants, non-zero or zero depending on the case (in the case of an implementation based on a memory with a prime number of banks, S2 will not be a multiple of the number of banks ) .
- the memory mk thus contains the datum D(K0 +u*S1 + k*S2), for each u from 0 to L1 -1 , after the input shift register 28 has presented this datum W(u) to it. k accompanied by the memory indication mk.
- the incrementation of the Ui is done in the order of increasing i: i ⁇ j, for each j starting from 0, i is incremented, from 0 to L1 i-i: for each value of i, we provide the W(u); then we increment j by 1 , reset i to 0 and start again.
- S1 i, S2, L1 i, KO are initially chosen so as to give rise to the desired distribution.
- All of these operations performed by the control block 41 are clocked by the operations sequencing unit 420 (all the operations are clocked at the rate of the clock 20, which is the or one of the clocks used by the FPGA) .
- the formula (1) is defined so as to obtain the desired distribution of the data between the columns of processors, according to the definition of the convolutions to be calculated.
- the processing device 40 according to the invention is suitable for writing a sequence of data in the column memories in a different order from that in which they were read in DDR 10 memory. Similarly, the processing device 40 according to the invention is suitable for reading a data sequence in the column memories in an order different from that in which they are then written in DDR 10.
- a step 201 the processing device 40 reads the results delivered by the shift register 29.
- the data to be exported by the processing device 40 to the DDR 10 are distributed in the memories m with a pitch equal to S2 from one column to another and a pitch S1 within each column.
- a step 203 the processing device 40 writes these sequences extracted from the MP memory 41 in the form of long bursts in DDR 10 at consecutive addresses.
- the processing device 40 according to the invention is suitable for carrying out data distributions according to a predefined formula, in the memories m while remaining compatible with the constraints of the DDR accesses and of the internal distribution system.
- the data stream read by the processing device 40 is the series of consecutive pixels on a row of the input image table
- the sequence conveyed is a sequence of vectors of K (here 4) data, intended for 4 consecutive column memories, which makes it possible to use the buses 28, 29 as a shift register which reduces the interconnections and simplifies the clock distributions in the FPGA.
- the processing device 40 is of a size that is independent of the size of the computing grid that it supplies and is moreover inexpensive in terms of resources. It is possible to load or read the column memories of the grid with data patterns conforming to formula (1) and this considerably widens the field of action of the architecture.
- one vector is written and another vector is read from MP 41, clocked from timing unit 420.
- this step is fixed at 1 (consecutive addresses) in MP 41 for read or write exchanges between the processing device 40 and the DDR 10.
- the processing device 40 contains two pairs of address generators respectively for transfers between DDR 10 and pivot memory MP 41 (address generators 421, 422) and transfers between pivot memory MP 41 and circuit 20 (address generators 423, 424).
- the memory MP 41 being of limited capacity, the transfer of data blocks between DDR 10 and circuit 20 takes place for example in several consecutive phases. For reasons of efficiency, these transfers are done in a pipeline: sub-block N is read at the same time as sub-block N+1 is written. Both sides of MP memory 41 are mostly active simultaneously.
- the sequencing of these operations is controlled by the sequencing unit 420 which sequences the inputs/outputs and which executes a firmware containing in particular the parameters of the address generators.
- the invention makes it possible to significantly extend the range of CNN operations of the systolic circuit making it possible to break out of the prior art data distribution scheme presented above, where adjacent pixels are distributed in the same order in the memories. column m.
- FIGS. 3 to 5 give examples of distribution of data in a system implementing the invention and which make processing possible which was not in the distribution of the prior art where the datum of index i0+i on the line is written in the memory of column i and only in this memory and for which the matrix of PEs is used at full capacity.
- a datum (for example here the datum D2 or D3 or D4 or D5) can thus be stored in several memories while limiting the calculations of non-useful PEs.
- the distribution does not include a copy in the case of figure 4 also corresponding to a convolution of width 5, but with a stride Str equal to 2.
- the result of the column associated with the memory m2 must be the convolution of (D1 , D2, D3, D4, D5)
- the result of the column associated with memory m3 must be the convolution of (D3, D4, D5, D6, D7)
- the result of the column associated with memory m4 must be the convolution of (D5, D6, D7, D8, D9), etc.
- the convolution carried out by the column of PEs associated with the memory 3 will use the data inside the surface delimited in dotted lines: the data D3 to D6 are in memory m3 and D7 is in m4.
- the convolution width is 3 and the dilation value is 2; the result of the column associated with memory m2 must be the convolution of (D1 , D3, D5), the result of the column associated with memory m3 must be the convolution of (D3, D5, D7), the result of the column associated with memory m4 must be the convolution of (D5, D7, D9).
- FIG. 6 illustrates a case where several stages of the CNN graph are chained to the grid 22, from an initial data distribution in one embodiment of the invention.
- This mode of operation called fusion, has the advantage of avoiding storage outside of intermediate results and drastically reducing the need for input-output bandwidth.
- Merging is an important factor in improving the performance of circuit 20: in fact, the systolic allowing the integration of high computing power, this is accompanied by a need of the same order in terms of input output rate. , which usually becomes the limiting factor for at least part of the CNN processing.
- the invention makes it possible to significantly broaden the field of operations of the systolic neural circuit 20 while maintaining the compactness of the systolic grid architecture and of its internal distribution system 27.
- the intermediate processing, of input/output management, implemented by the processing device 40 between the DDR memory 10 and the distribution system 27 makes it possible to carry out particular data distributions in the grid 22 and to process convolutions at any characteristics (nucleus sizes, stride, dilation), making it possible to cover a wide range of CNNs, while optimizing the performance of the grid.
- the type of data distribution according to the invention opens the door to CNN processing by stage merging, which divides the I/O throughput requirement from or to the DDR by the number of merged stages.
- stage merging which divides the I/O throughput requirement from or to the DDR by the number of merged stages.
- This artifice avoids the capping of the performance of the circuit on a part of the graph (in general the upper part of the graph, where the number of feature maps is lower).
- the resource cost of the processing device 40 of the invention remains low compared to the density of current FPGAs: less than 4% for an FPGA of size medium (7Z045 from Xilinx).
- the size of the device is moreover the same whatever the size of the grid of PEs.
- the device processing 40 using a parallel memory MP 41, i.e. capable of manipulating a multi-component vector at each clock cycle, and taking into account the data patterns to be manipulated (multi-dimensional affine addressing laws).
- the parallel memory 41 comprises several memory banks M 410 as illustrated in FIG. 9. To access a vector in such a set of banks M 410 at each cycle, it must be ensured that the components of the vectors are always found in distinct banks. .
- the pivot memory MP 41 is therefore a set of K identical double-port memory banks M 410 (allowing read or write access to each of its ports at each cycle), numbered from 1 to K. These memories M 410 are seen collectively as a larger memory (MP), the capacity of which is the sum of the individual capacities. Address A in memory MP 41 corresponds to address A/K in memory bank M 410 with number A%K (i.e. A modulo K).
- the invention can be implemented in embedded systems of a very varied nature, for example in the processing of images by neural network on board a satellite, and/or configurable on a radiation-hardened FPGA, and/or more generally relating to classification, detection or recognition on real-time images or signals.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2010391A FR3115136B1 (fr) | 2020-10-12 | 2020-10-12 | Procede, et dispositif, de traitement, de donnees a fournir en entree d'un premier registre a decalage d'un circuit electronique neuronal systolique |
| PCT/EP2021/078105 WO2022078982A1 (fr) | 2020-10-12 | 2021-10-12 | Procédé, et dispositif, de traitement, de données à fournir en entrée d'un premier registre à décalage d'un circuit électronique neuronal systolique |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4226256A1 true EP4226256A1 (fr) | 2023-08-16 |
Family
ID=74592066
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP21790454.9A Pending EP4226256A1 (fr) | 2020-10-12 | 2021-10-12 | Procédé, et dispositif, de traitement, de données à fournir en entrée d'un premier registre à décalage d'un circuit électronique neuronal systolique |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4226256A1 (fr) |
| FR (1) | FR3115136B1 (fr) |
| WO (1) | WO2022078982A1 (fr) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107578098B (zh) | 2017-09-01 | 2020-10-30 | 中国科学院计算技术研究所 | 基于脉动阵列的神经网络处理器 |
| US10459876B2 (en) * | 2018-01-31 | 2019-10-29 | Amazon Technologies, Inc. | Performing concurrent operations in a processing element |
-
2020
- 2020-10-12 FR FR2010391A patent/FR3115136B1/fr active Active
-
2021
- 2021-10-12 WO PCT/EP2021/078105 patent/WO2022078982A1/fr not_active Ceased
- 2021-10-12 EP EP21790454.9A patent/EP4226256A1/fr active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| FR3115136A1 (fr) | 2022-04-15 |
| WO2022078982A1 (fr) | 2022-04-21 |
| FR3115136B1 (fr) | 2025-01-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12387091B2 (en) | Activation functions for deep neural networks | |
| EP3660849A1 (fr) | Circuit mémoire adapté à mettre en oeuvre des opérations de calcul | |
| CN107909148A (zh) | 用于执行卷积神经网络中的卷积运算的装置 | |
| EP3803636B1 (fr) | Processeur ntt incluant une pluralite de bancs de memoires | |
| CN114270305B (zh) | 具有转换电路系统的mac处理流水线和操作其的方法 | |
| FR2936626A1 (fr) | Dispositif de traitement en parallele d'un flux de donnees | |
| FR2860313A1 (fr) | Composant a architecture reconfigurable dynamiquement | |
| WO2019084788A1 (fr) | Appareil de calcul, circuit et procédé associé pour réseau neuronal | |
| FR3042050A1 (fr) | ||
| EP3803574A1 (fr) | Circuit de génération de facteurs de rotation pour processeur ntt | |
| FR2568036A1 (fr) | Circuit de calcul | |
| FR3101980A1 (fr) | Processeur | |
| WO2022078982A1 (fr) | Procédé, et dispositif, de traitement, de données à fournir en entrée d'un premier registre à décalage d'un circuit électronique neuronal systolique | |
| EP4020475A1 (fr) | Module mémoire adapté à mettre en oeuvre des fonctions de calcul | |
| CN102982509B (zh) | 图像处理电路 | |
| EP0924626A1 (fr) | Processeur de calcul d'une transformation rapide de Fourier à architecture dite "pipelinée" | |
| EP2901411B1 (fr) | Dispositif de decomposition d'images par transformee en ondelettes | |
| EP0667969A1 (fr) | Dispositif electronique de calcul d'une transformee de fourier et procede pour minimiser la taille des chemins de donnees internes d'un tel dispositif | |
| EP4206938B1 (fr) | Système de transfert direct de données | |
| CN111324793A (zh) | 对存储感兴趣区域的数据的操作进行控制的方法和装置 | |
| FR2802668A1 (fr) | Procede de transfert securise de donnees | |
| FR3131429A1 (fr) | Système de transfert direct de données | |
| WO2023140778A1 (fr) | Moteur à convolution et ses procédés de fonctionnement et de formation | |
| FR3159250A1 (fr) | Circuit électronique de type multiplieur-accumulateur (MAC) | |
| EP2245474B1 (fr) | Dispositif et procede d'observation et d'exploitation de signaux internes d'un systeme programmable |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20230412 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20240410 |