Computing system and method for continuous-value computing or partly continuous-value computing
The described computing system addresses digital computing limitations by employing waveguides and processing modules for continuous-value computing, enhancing efficiency and speed through analog operations, particularly beneficial for complex simulations.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- LUDWIG MAXIMILIANS UNIV MUNCHEN
- Filing Date
- 2026-01-14
- Publication Date
- 2026-07-23
AI Technical Summary
Digital computing systems face limitations in efficiency and accuracy for complex problems, particularly in simulating physical systems like cells or climate, leading to high computational costs and impracticality even with supercomputers, necessitating an improved computing paradigm.
A computing system utilizing waveguides and processing modules for continuous-value computing, where signals with amplitude, frequency, phase, and polarization spectra are manipulated through optical, RF, or fluid channels, enabling complex operations like matrix multiplication and trigonometric transformations.
This approach reduces resource requirements and enhances computational efficiency and speed by leveraging wavefront propagation for analog computing, offering an energy-efficient and faster alternative to digital architectures.
Smart Images

Figure EP2026050751_23072026_PF_FP_ABST
Abstract
Description
[0001] Project Linque, LMU München 1
[0002] 95797
[0003] Computing system and method for continuous-value computing or partly continuous-value computing
[0004] DESCRIPTION:
[0005] The present invention is directed to a computing system for continuous-value computing or partly continuous-value computing and to a corresponding method for continuous-value computing or partly continuous-value computing.
[0006] Computing in the modern era is mainly based on digital logic, where every complex operation at its core is composed of electronically controlled transistors that switch between an on- and off-state. These binary switches can be linked to form logical gates which can then perform mathematical operations on numbers that are encoded appropriately. For example, a simple binary addition can be realized with the Boolean operations of AND and XOR, that can be realized with a total of six transistors. This operation is one of many instructions for a digital computer that form a so-called instruction set that defines a computer architecture on an abstract level.
[0007] As was shown by Alan Turing through his famous Turing Machine, combining basic instructions can yield a universal computer that can implement any computing algorithm. It is however merely a theoretical model and real computers are built on equally universal but different concepts. There exist two dominant design philosophies for these architectures today, the complex instruction set computer (CISC) architecture, for example Intel’s x86, and the reduced instruction
[0008] set computer (RISC) architecture, for example ARM and RISC-V, that are defined by the scope of their instructions, with RISC including fewer basic operations while a CISC architecture contains complex variable length instructions. However, in theseProject Linque, LMU München 2
[0009] 95797 and other digital architectures, the arithmetic instructions are limited to a small group of addition, subtraction, multiplication and division operations.
[0010] An entirely different computing philosophy is given by analog computing, which relies on a continuous physical quantity to model the computation. The most prominent example is given by electronic analog computers with resistors, inductors, capacitors and operational amplifiers as base components that can be used for analog operations, such as addition, subtraction and integration, forming the instruction set. Before digital machines became as powerful as they are today, analog computers were regularly employed for certain calculations such as solving differential equations. There are several hardware systems that can perform computations in the analog domain, two most popular approaches are the electronic and the optical approach. Analog computers can perform complex calculations with available instructions but at the cost of accuracy and noise due to repeated processing of signals. Analog computing may also be denoted as continuous-value computing. A combination of partly analog and partly digital computing may be denoted as partly continuous-value computing.
[0011] In the last decades, digital computing has become the dominant paradigm as the miniaturization of transistors resulted in its exponential improvement with regards to speed and efficiency. But despite their success, they are slowly reaching their limitations as Moore’s and Dennard’s scaling reach a fundamental limit coinciding with immense time and energy costs due to memory shuffling known as the von Neumann bottleneck. There exists a wide class of problems for which digital machines, even scaled to the size of clusters or datacenters, become impractical. Many of these problems relate to the simulation of physical systems found in nature, such as cells or climate, which currently requires supercomputers. The employed models evolve to be both more accurate and more complex while the computational cost is only getting higher. Solving such problems efficiently is crucial for drug discovery, material development, chemistry as well as climate change modeling.
[0012] W. R. Clements et al.: " Optimal design for universal multiport interferometers", Optica Vol. 3, Issue 12, pp. 1460-1465 (2016) describes a concept for universal multiportProject Linque, LMU München 3
[0013] 95797 interferometers, which can be programmed to implement any linear transformation between multiple channels. M. Reck et al.: " Experimental realization of any discrete unitary operator", Phys. Rev. Lett. 73, 58 provides an algorithmic proof that any discrete finite-dimensional unitary operator can be constructed in the laboratory using optical devices.
[0014] It is an objective of the present invention to provide an improved concept for continuous-value computing or partly continuous-value computing.
[0015] This objective is achieved by the respective subject of the independent claims.
[0016] Preferred embodiments and further implementations are subject matter of the dependent claims.
[0017] According to an aspect of the invention, a computing system for continuous-value computing or partly continuous-value computing is provided. The computing system comprises a plurality of channels, wherein each channel comprises a waveguide. The computing system comprises a data encoding module, which is configured to encode predefined input data in a representation, which comprises a set of complex values, and to generate a respective signal for each channel of the plurality of channels. This results in a set of signals, wherein each signal of the set of signals comprising a wave, for example a wave packet, with an amplitude spectrum and / or a frequency spectrum and / or a phase spectrum and / or a polarization spectrum depending on a respective subset of the set of complex values. The data encoding module is configured to couple each signal of the set of signals into the waveguide of the respective channel, in particular at an input side or an input terminal of the respective waveguide or the respective channel.
[0018] The computing system comprises a plurality of processing modules, which are coupled to the plurality of channels such that the set of signals is manipulated by the plurality of processing modules when propagating along the waveguides. The plurality of processing modules comprises a first module, which is configured to receive a first subset of at least one signal from at least one of the channels and to generate at least one manipulated signal, which is related to the first subset of atProject Linque, LMU München 4
[0019] 95797 least one signal according to a predefined mathematical operation implemented by the first module. The plurality of processing modules comprises a second module, which is configured to receive a second subset of at least one signal from at least one of the channels and to control a further processing of the set of signals according to a predefined control operation, which is implemented by the second module.
[0020] The waves or wave packets, respectively, may be different types of waves in the respective physical medium of the waveguides. It is noted that the expression wave is understood in a broad sense here and in the following such that not only plane waves or other individual waves are covered but also wave packets.
[0021] For example, the waves may be electromagnetic waves in the optical domain or, in other words, light waves. The waveguides are optical waveguides in this case, for example optical fibers. The optical domain may be understood to comprise electromagnetic waves in the visible range, in the infrared range and / or in the ultraviolet range. In other words, the optical domain comprises for example a wavelength range of [380 nm, 750 nm] in the visible domain, and / or of [1300nm, 1700nm] in the near infrared domain.
[0022] In other embodiments, the waves may be electromagnetic waves in the radiofrequency, RF, domain, that is in a frequency range of [20 kHz, 300 GHz], The waveguides are RF-waveguides in this case, for example coaxial cables.
[0023] In other embodiments, the waves may be mechanical waves in a fluid, for example in a liquid or acoustic waves in a gaseous medium. The waveguides are for example pipes containing the fluid in this case.
[0024] Consequently, the encoding of the input data and the manipulation of the signals may comprise different techniques depending on the physical implementation of the waves. In particular, encoding or manipulating a signal may comprise defining or modifying an amplitude and / or phase and / or frequency and / or polarization of the respective waves or an amplitude spectrum and / or phase spectrum and / or frequency spectrum and / or polarization spectrum of the respective wave packets.Project Linque, LMU München 5
[0025] 95797
[0026] For example, in case of optical waves, their amplitudes may for example be defined or modified by means of interferometric phase modulation and / or by means of adjusting a drive current of a light source generating the optical waves or by direct encoding during the generation of the waves, for example in a laser gain medium, which corresponds to an external electronic modulation of the amplitudes. The phase modulation is for example carried out by modulating material properties of the waveguides, such as length, diameter, or by refractive index modulation. For example, Mach-Zehnder type interferometer arrangements, ring-type interferometer arrangements or Sagnac-type interferometer arrangements may be used. The phases may for example be defined or modified by changing the length and / or refractive index of the respective waveguide or, in other words, by changing the optical path length of the respective waveguide. The frequencies may for example be defined or modified by utilizing diffractive or
[0027] resonator components to individually address frequency units. The polarizations may for example be defined or modified by introducing or modifying birefringence in the waveguides.
[0028] For example, in case of RF-waves, their amplitudes may for example be defined or modified by applying a respective voltage to an antenna or a cable. The phases may for example be defined or modified by providing two signals with differential amplitudes into a waveguide. The frequencies may for example be defined or modified by feeding the signals into an electronic oscillator. The polarizations may for example be defined or modified by manipulating antenna orientations and / or antenna designs.
[0029] For example, in case of fluid waves, their amplitudes may for example be defined or modified by changing the transverse physical dimension of the waveguides. The phases may for example be defined or modified by changing the longitudinal physical dimensions of the waveguides. The frequencies may for example be defined or modified by means of external valves or pumps.Project Linque, LMU München 6
[0030] 95797 For example, in case of acoustic waves, their amplitudes may for example be defined or modified by changing a physical movement of an object inside the waveguide. Similarly, the phases may be defined or modified but with a differential movement of two or more objects. The frequencies may for example be defined or modified by introducing different physical oscillators such as springs or oscillating membranes. The polarizations may for example be defined or modified by introducing a shear response with oscillators.
[0031] In some embodiments, the second subset comprises the first subset completely or partially. In other embodiments, the first subset and the second subset are disjoint.
[0032] According to several embodiments, the computing system comprises a photonic chip, which comprises the plurality of processing modules, and each signal of the set of signals comprises a light wave, for example a wave packet of light waves.
[0033] According to several embodiments, in order generate the at least one manipulated signal, the first module is configured to modify the respective amplitude spectra of the first subset of at least one signal by carrying out an interferometric phase modulation of the respective amplitude spectra and / or an external electronic modulation.
[0034] According to several embodiments, in order generate the at least one manipulated signal, the first module is configured to modify the respective phase spectra of the first subset of at least one signal by adjusting an optical path length of a medium, in particular of the first module, through which the first subset of at least one signal propagates.
[0035] For adjusting the optical path length, a geometrical path length and / or a refractive index of the medium may be adjusted. For example, that several alternative optical paths with different geometrical path lengths and / or refractive indices may be provided.
[0036] According to several embodiments, in order generate the at least one manipulated signal, the first module is configured to modify a polarization of the first subset of atProject Linque, LMU München 7
[0037] 95797 least one signal by providing a birefringent element through which the first subset of at least one signal propagates.
[0038] According to several embodiments, for each signal of the set of signals, the respective wave comprises an electromagnetic RF-wave, in particular RF-wave packet, or a pressure wave, in particular wave packet, in a fluid medium or an acoustic wave, in particular wave packet, or an ultrasonic wave, in particular wave packet.
[0039] According to several embodiments, the computing system comprises a data decoding module, which is configured to generate output data by decoding the set of signals manipulated by the plurality of processing modules.
[0040] For example, the data encoding module and the data decoding module may be combined in a data encoding and decoding module.
[0041] According to several embodiments, the mathematical operation, which is implemented by the first module, comprises at least one arithmetic operation and / or at least one trigonometric operation and / or at least one linear transformation and / or at least one matrix multiplication and / or at least one logic operation.
[0042] According to several embodiments, the control operation, which is implemented by the second module, comprises a routing or re-routing of at least a part of the set of signals.
[0043] According to several embodiments, the control operation, which is implemented by the second module, comprises a jump operation and / or a halt operation and / or a delay operation and / or a data storage operation and / or a data retrieval operation.
[0044] According to several embodiments, the first subset of at least one signal is identical to the second subset of at least one signal. The second module is configured to determine a current number of times the first subset of at least one signal has already been manipulated by the first module and to route the first subset of at leastProject Linque, LMU München 8
[0045] 95797 one signal to be manipulated by the first module if the current number is less than a predefined iteration number. For example the control operation is implemented by the second module comprises determining the current number of times the first subset of at least one signal has already been manipulated by the first module and routing the first subset of at least one signal to be manipulated by the first module if the current number is less than a predefined iteration number.
[0046] According to several embodiments, the first module is configured to generate a set of digital signals depending on the first subset of at least one signal and carry out a computation according to the predefined mathematical operation based on the set of digital signals and store a result of the computation. For example the control operation implemented by the first module comprises generating a set of digital signals depending on the first subset of at least one signal and carrying out a computation according to the predefined mathematical operation based on the set of digital signals and storing a result of the computation
[0047] According to several embodiments, the first module is configured to manipulate the set of digital signals according to the predefined mathematical operation and convert the manipulated set of digital signals into a manipulated set of signals.
[0048] According to several embodiments, the computing system comprises an instruction engine, which implements an instruction set and is configured to provide respective control instructions to the plurality of processing modules based on one or more instructions of the instruction set and the plurality of processing modules is configured to carry out the respective instructions based on the control instructions.
[0049] According to several embodiments, the instruction set comprises a set of arithmetic and / or logic instructions and / or a set of control flow instructions and / or a set of data management and / or synchronization instructions.
[0050] According to several embodiments, the instructions of the set of arithmetic and / or logic instructions specify mathematical and / or logical transformations of respective signals in one or more channels of the plurality of channels.Project Linque, LMU München 9
[0051] 95797
[0052] According to several embodiments, the instructions of the set of control flow instructions specify instruction sequences and / or specify a management and / or control of a signal flow through the plurality of channels.
[0053] According to several embodiments, the instructions of the set of data management and / or synchronization instructions specify information storage and / or retrieval from a storage device of the computing system and / or specify the encoding of the predefined input data by the data encoding module and / or specify a decoding the set of signals manipulated by the plurality of processing modules and / or specify a synchronization between the plurality of processing modules and / or the data encoding module and / or the data decoding module.
[0054] According to several embodiments, the instruction engine is configured to generate first control instructions based on a first instruction of the instruction set and to provide the first control instructions to the first module. The first module is configured to generate the at least one manipulated signal depending on the first control instructions. The instruction engine is configured to generate second control instructions based on a second instruction of the instruction set and to provide the second control instructions to the second module. The second module control the further processing of the set of signals depending on the second control instructions.
[0055] According to several embodiments, the set of arithmetic and / or logic instructions comprises the first instruction.
[0056] According to several embodiments, the set of control flow instructions comprises the second instruction.
[0057] According to several embodiments, the set of data management and / or synchronization instructions comprises the second instruction.
[0058] According to a further aspect of the invention, a method for continuous-value computing or partly continuous-value computing is provided. Therein, a computingProject Linque, LMU München 10
[0059] 95797 system is provided, for example a computing system according to the invention. The computing system comprises a plurality of channels, wherein each channel comprises a waveguide, and a plurality of processing modules. Predefined input data is encoded in a representation, which comprises a set of complex values and a respective signal is generated for each channel of the plurality of channels, which results in a set of signals. Each signal of the set of signals comprising a wave with an amplitude spectrum and / or a frequency spectrum and / or a phase spectrum and / or a polarization spectrum, depending on a respective subset of the set of complex values. Each signal of the set of signals is coupled into the waveguide of the respective channel. The set of signals is manipulated by the plurality of processing modules when propagating the set of signals along the waveguides. A first subset of at least one signal from at least one of the channels is received by a first module of the plurality of processing modules and at least one manipulated signal is generated by the first module, which is related to the first subset of at least one signal according to a predefined mathematical operation implemented by the first module. A second subset of at least one signal from at least one of the channels is received by a second module of the plurality of processing modules and a further processing of the set of signals is controlled by the second module according to a predefined control operation, which is implemented by the second module.
[0060] Further embodiments of the method according to the invention follow directly from the various embodiments of the computing system according to the invention and vice versa. In particular, individual features and corresponding explanations as well as advantages relating to the various embodiments of the computing system according to the invention can be transferred analogously to corresponding embodiments of the method according to the invention. In particular, the computing system according to the invention is designed or programmed to carry out the method according to the invention. In particular, the computing system according to the invention carries out the method according to the invention.
[0061] Further features of the invention are apparent from the claims, the figures and the figure description. The features and combinations of features mentioned above in the description as well as the features and combinations of features mentioned below inProject Linque, LMU München 11
[0062] 95797 the description of figures and / or shown in the figures may be comprised by the invention not only in the respective combination stated, but also in other combinations. In particular, embodiments and combinations of features, which do not have all the features of an originally formulated claim, may also be comprised by the invention. Moreover, embodiments and combinations of features, which go beyond or deviate from the combinations of features set forth in the recitations of the claims may be comprised by the invention.
[0063] In the following, the invention will be explained in detail with reference to specific exemplary implementations and respective schematic drawings. In the drawings, identical or functionally identical elements may be denoted by the same reference signs. The description of identical or functionally identical elements is not necessarily repeated with respect to different figures.
[0064] In the figures,
[0065] Fig. 1 shows a schematic block diagram of an exemplary embodiment of a computing system according to the invention;
[0066] Fig. 2 shows a schematic block diagram of a further exemplary embodiment of a computing system according to the invention;
[0067] Fig. 3 shows a schematic block diagram of channels of a further exemplary embodiment of a computing system according to the invention;
[0068] Fig. 4 shows scheme notations for non-multiplex-channel operations;
[0069] Fig. 5 shows an illustration of a subtraction gate;
[0070] Fig. 6 shows an illustration of an algorithm to multiply a matrix to an input vector based on singular value decomposition;
[0071] Fig. 7 shows an illustration of a unitary operation;Project Linque, LMU München 12
[0072] 95797
[0073] Fig. 8 shows an illustration of a Fourier neural operator;
[0074] Fig. 9 shows an illustration of a Fourier layer for a neural network; and
[0075] Fig. 10 shows an illustration of a graph optimizer algorithm.
[0076] Fig. 1 shows a schematic block diagram of an exemplary embodiment of a computing system 1 according to the invention. The computing system 1 comprises a plurality of channels 15a, 15b, 15c, 15d, 15e, 15f, 15g, (see Fig. 3), wherein each channel comprises a waveguide.
[0077] The waveguides are, in particular, implemented on a data processing device 2 for continuous-value computing, in particular analog computing. The data processing device 2 may for example comprise or consist of a photonic chip. In this case, the waveguides may for example be implemented as optical fibers or planar optical waveguides and so forth.
[0078] The computing system 1 comprises a data encoding module 3, which is configured to encode predefined input data 4 in a representation, which comprises a set of complex values, and to generate a respective signal for each of the plurality of channels 15a, 15b, 15c, 15d, 15e, 15f, 15g. In this way, a set of signals is generated, one in each waveguide. Each of the set of signals comprises a wave with an amplitude spectrum and a frequency spectrum and, in particular, a phase spectrum and / or polarization spectrum, depending on a respective subset of the set of complex values. The data encoding module 3 is configured to couple each of the set of signals into the waveguide of the respective channel.
[0079] The computing system 1 comprises a plurality of processing modules 5, 6, 7a, 7b, in particular implemented on the data processing device 2. The processing modules 5, 6, 7a, 7b are coupled to the channels 15a, 15b, 15c, 15d, 15e, 15f, 15g, such that the set of signals is manipulated by the plurality of processing modules 5, 6, 7a, 7b when propagating along the waveguides.Project Linque, LMU München 13
[0080] 95797
[0081] A first module 5 of the plurality of processing modules 5, 6, 7a, 7b is configured to receive a first subset of at least one signal from at least one of the channels 15a, 15b, 15c, 15d, 15e, 15f, 15g and to generate at least one manipulated signal, which is related to the first subset of at least one signal according to a predefined mathematical operation implemented by the first module 5. A second module 6 of the plurality of processing modules 5, 6, 7a, 7b is configured to receive a second subset of at least one signal from at least one of the channels 15a, 15b, 15c, 15d, 15e, 15f, 15g and to control a further processing of the set of signals according to a predefined control operation, which is implemented by the second module 6.
[0082] Fig. 2 shows a schematic block diagram of a further exemplary embodiment of a computing system 1 according to the invention, which is based on the computing system 1 of Fig. 1.
[0083] The computing system 1 is separated in two blocks, namely a host computer 8, which may be a general purpose, in particular digital, computer, and a processor 9, which comprises the data processing device 2, which may also be denoted as instruction engine 2, and the data encoding module 3, which is implemented as a data encoding and decoding module 3 in this embodiment. The processor 9 also comprises a local memory 14, which can be accessed by the data encoding and decoding module 3 and by the instruction engine 2, and an interface 11 coupling the processor 9 to the host computer 8, in particular via a further interface 10 of the host computer 8. In particular, the further interface 10 is coupled to the local memory 14 and the data encoding and decoding module 3 via the interface 11. The host computer 8 further comprises a control unit 12 and a memory 13, both coupled to the data processing device 2 via the interface 11 and the further interface 10.
[0084] The computing system 1 establishes a wavefront analog instruction set, which is implemented on the instruction engine 2, based on operations and transformations available in natural systems. This includes linear and non-linear operations that compute information in a one-step process and mathematically describe the function together with their input and output data forms. Operations with one or two inputsProject Linque, LMU München 14
[0085] 95797 include analog arithmetic operations and trigonometric transformations. More complex transformations with large data inputs include two-dimensional special unitary transformations, SU(2) transformation, and higher-dimensional matrix multiplications as well as a set of transformations related to convolution and the Fourier transform. Also included in the instruction set are specialized instructions such as an analog implementation of a physical unclonable function, PUF.
[0086] Apart from mathematical instructions including logical instructions, the instruction set is complemented with control instruction, such as data transfer instructions for handling information in the analog and mixed analog-digital domain. A reduction in resource requirements for the analog instruction set may be achieved by utilizing complex mathematical operations instead of a set of Boolean logic operations.
[0087] As an example, a list of instructions that may be used in algorithms across all disciplines with comparison of theoretical resource consumption in the analog and digital domain is provided in the following table. In addition, a comparison of resources used in an analog photonic implementation is provided to demonstrate practical speedup and resource reduction. The expected advantages in terms of both time and memory complexity using an analog instruction set are vast in scope.
[0088] Analog instruction set Digital instruction set
[0089] Instruction Time Space Physical Time Space Physical complexity complexity performance complexity complexity performance DFT 1 O(n) 0.1 nJ, 5 ms O(n log(n) O(n log(n) 10J, 200 ms M (b) b)
[0090] SU(2) 11 4 40 fj, 4 ps 4 M(b) 4 50 pj, 1ns matrix
[0091] sine 1 0(1) 10 fj, 1 ps 0 (M(b)) 0(b) 10 pj, 1ns
[0092]
[0093] The table compares the analog instruction set architecture to a digital instruction set architecture. The performance is compared for three instructions: the specialized unitary transformation SU(2), the discrete Fourier transform, DFT, and the sine function. The theoretical performance is given in terms of the time and space complexity, n refers to the number of variables, b refers to the bit precision, and M (b)Project Linque, LMU München 15
[0094] 95797 = b log(b) is the additional time complexity factor due to the bit precision. State-of-the-art computation chips such as TPU offer an 8-bit precision, that is b = 8, M (b) = 7, which is achievable in the single variable of an analog system without any additional complexity overhead. Physical performance here refers to analog photonic hardware and it is for example a measured performance with a proof-of-concept device or estimated performance based on simulations. The benchmark used for digital computing was TPUv4.
[0095] The information processing is carried out in the instruction engine 2, which may also be denoted as mathematical transformation unit, MTU, in analogy to the arithmetic logic unit, ALU, of a digital processor. The data is represented in the channels 15a, 15b, 15c, 15d, 15e, 15f, 15g and the instructions developed can be implemented in one or more channels 15a, 15b, 15c, 15d, 15e, 15f, 15g depending on the task by the control unit. The sketch of the flow of information and instructions is shown schematically in Fig. 3, where the different instructions are denoted as blocks 16a, 16b, 16c, 16d, 16e, 16f, 16g, 16h, 16i, 16j
[0096] In particular, in some embodiments of the computing system 1, the computing system 1 comprises an instruction engine 2, which implements an instruction set and is configured to provide respective control instructions to the plurality of processing modules 5, 6, 7a, 7b based on one or more instructions of the instruction set. The plurality of processing modules 5, 6, 7a, 7b is configured to carry out the respective instructions based on the control instructions.
[0097] An exemplary instruction set is given in the following tables. Therein, three different types of instructions are combined in different tables.
[0098] 1.1 Arithmetic and / or logic instructions part 1
[0099] Instruction Meaning Notes Photonic implementation ADD Add two signals C= A + B Combining two waveguides via Y- splitter
[0100]
[0101] Project Linque, LMU München 16
[0102] 95797 AMP Amplify a signal C= aA with a > 1 Via Semiconductor Optical Amplifier ATT Attenuate a signal C= aA with 0 < a < 1 Via direct band-gap absorption in semiconductor wells COS Multiply signal with cosine C= A cos cp with cp e Via self-interference function ]R of the signal with reference
[0103] DFT Discrete Fourier transform of Cj= FT(Ai) Via a set of phase shifters for Fourier a set of signals
[0104] matrix coefficient encoding followed by summation via interference mesh DIV Divide two signals C= A / B Via non-linear optical material or measuring one register and using it with amplification or attenuation
[0105] LPL Discrete Laplace Cj= L(Ai) Via a set of phase transformation of a set of shifters and signals amplitude encoding followed by summation via interference mesh MIX Mixing two signals based on Via Mach-Zehnder o
[0106] an SU(2) rotation interferometer / simp coscp \ (A\
[0107] \cos<p — sin<p / \B'
[0108] with cp e IR
[0109] MUL Multiply two signals C= A B Via non-linear optical material or measuring one register and using it with amplification or attenuation
[0110]
[0111] Project Linque, LMU München 17
[0112] 95797 PUF Generation of physically Via a series of noisy unclonable function with a set phase shifter of signals followed by output couplers
[0113] RNG Generation of a signal of Via homodyne random amplitude and phase measurement of vacuum field ROT Rotation of a signal in C= A exp(icp) Via electro-optic complex plane phase modulation SIN Multiply signal with sine C= A sin (p with (p e IR Via self-interference function of the signal with reference
[0114] SPT Split signal into two channels Via multi-mode (»H (- DO interferometer SUB Subtract two signals C= A-B Via y-splitter with destructive phase difference
[0115]
[0116] 1.2 Arithmetic and / or logic instructions part 2
[0117] Instruction Meaning Notes Photonic implementation CONV Convolution of two signals C= A * B Via time-dependent encoding, weight encoding followed by summation DFG Subtract frequency of two signal Cco1-co2=f (Aco1, Via non-linear amplitudes BW2). optical material DIF Differentiate signal with respect to C = d / dt A Via optical filter time based on cascaded asymmetric interferometers DMUX Distribute one signal into several Via a set of channels, e.g. based on different interferometers e.g. frequencies ring resonators INTR Integrate signal with respect to time C= f A dt Via resonator based frequency-
[0118]
[0119] Project Linque, LMU München 18
[0120] 95797 dependent integration MUX Select one or combine several Via a set of signals in one channel interferometers e.g.
[0121] ring resonators SFG Sum frequency of two signal Cco1 +co2—f (Aco1, Via non-linear amplitudes BW2) optical material
[0122]
[0123] 1.3 Arithmetic and / or logic instructions part 3
[0124] Instruction Meaning Notes Photonic implementation DPM Distribute x- and y-polarizations of Via birefringent signal into material and phase two simple channels shifters PLX Transmit only x-axis component of Via geometry- or signal strain-induced birefringent interferometer PLY Transmit only y-axis component of Via geometry- or signal strain-induced birefringent interferometer PMX Combine two signals with x- and y- Via geometry- or polarizations in one channel strain-induced birefringent Y-splitter RPL Rotate signal polarization on angle X' = X cos <|) - Via distancephi Y sin <|) dependent mode Y ' = X sin <|) + evolution
[0125] Y cos <|)
[0126]
[0127] 2. Control flow instructions
[0128] Instruction Meaning Notes Photonic
[0129] implementation
[0130]
[0131] Project Linque, LMU München 19
[0132] 95797 CLR Clear overload Via flag register with active dumping / dark channel
[0133] DELA Delay signal while maintaining Via delay lines or phase optical resonators HLT Halt state Via complete decoding and encoding steps FLT Transmit only component with Xm = Via optical resonator frequency omegam of FLT([X], omegam) or optical phased multifrequency signal [X] array NUL Nullify or interrupt signal Via dark detection channel
[0134] PLL Follow signal with fixed phase A= B + exp(icp) Via optical delay line difference with (p e IR or resonator RPT Repeat instruction Via programmable interferometer SHL Shift signal onto the left channel C_{i+1} = A_i Via interferometer or directional coupler SHR Shift signal onto the right channel C_{i-1} = A_i Via interferometer or directional coupler SWP Swap signals X₁ and X₂. Y₁ = X₂, Y₂ = X₁ Via Mach-Zehnder interferometer TRIG Wait for input signal with threshold y = |X| > a Via active gain amplitude material based
[0135] amplifier
[0136]
[0137] 3. Data Management and / or synchronization instructions
[0138] Instruction Meaning Notes Photonic implementation CUB Cube amplitude of a signal C= A3Via nonlinear Kerr effect
[0139] DEC Measure amplitude of X x= |X| Via photodetection of amplitude
[0140] DIG Calculate digital function f(x). f(x) n / a
[0141]
[0142] Project Linque, LMU München 20
[0143] 95797 ENC Returns signal with amplitude x and X = x exp(i*0) Via high-speed zero phase electro-optic modulation
[0144] EXT Extract multifrequency signal from Via amplitude memory with address add. encoding with cascaded interferometric channels
[0145] MSF Measure frequency of X Via resonators with photodetection MSP Measure phase of X <t> = arg X Via photodetection with self-reference MSX Measure square amplitude of x-axis z = X. X* Via geometry-induced component of signal polarization-selection with photodetection MSY Measure square amplitude of y-axis z = Y. Y* Via geometry-induced component of signal polarization-selection with photodetection NRM Measure square amplitude of signal C = A. A* Via photodetection A STO Store multifrequency signal in Via cascaded memory with address add interferometric channels with photodetection
[0146]
[0147] The arithmetic and / or logic instructions are, in particular, instructions that are related to mathematical and / or logical transformations of wavefront signals in one or more channels. The instruction subsets (parts 1, 2, 3) have different complexity in wavefront signal allowing to define modules with features, for example coherent or non-coherent, dispersion-sensitive, noise and quantization bounds.
[0148] The control flow instructions are, in particular, instructions for instruction sequence definition and / or altering to define algorithms and / or sub-modules, manage and / or control signal flow through channels.Project Linque, LMU München 21
[0149] 95797 The data management and synchronization instructions are, in particular, instructions for information storage / retrieval from storage or memory, data encoding / decoding in wavefront formats and / or synchronization between various modules and external interface.
[0150] The rightmost column in the tables refers to the optional implementation of the computing system 1 as a photonic chip or comprising a photonic chip and describe how the respective instructions may be implemented in this case.
[0151] It is noted that, in various embodiments, the instruction set may comprise arbitrary subsets of the instructions listed in the tables above and / or may comprise additional instructions not listed in the table above.
[0152] The invention enables a novel abstract machine architecture for analog computing based on wavefront propagation. The architecture, also denoted as wavefront analog computing, WAC, is based on the wave phenomena, which allows to implement a unique instruction set for efficient computation. WAC provides a unified computing architecture for energy-efficient and faster information processing in the analog domain for various applications. Information encoding in the wavefront format is used. By developing a novel instruction set based on analog processing on the wavefront information, WAC reduces resource requirements for complex mathematical operations, leading to more efficient and faster computations.
[0153] Information in WAC is encoded in the wavefront format. Starting with the simplest representation, information in this format has well-defined phases and can
[0154] be considered as a set of continuous complex values, A, B, C,... e (C, to which it is referred to as signals. Complex numbers are the natural way to represent a plane wave, namely its amplitude a = |?1| and phase <p_A = arg A). A single unit or packet of wavefront analog information is denoted as wavefront analog bit or wabit. It can be presented as a complex number or its corresponding vector A
[0155] / (Z-i \ COS (pA\
[0156] A = aexpi (pAA = ( ] = (
[0157]
[0158] yLv? / \aLvsO[lnli(<10 / A / ),Project Linque, LMU München 22
[0159] 95797 where a1and a2are the real and imaginary components of A, respectively.
[0160] A waveguide represents a physical transmission medium for signals, where it may be assumed that the wave propagates unidirectionally in time t along the z-axis:
[0161] A(z, t) = A exp(ikz — ia)t) = a exp(ikz — ia)t + <p_A),
[0162] Where the two positive numbers k and t are the wavenumber and the frequency of the wavefront for a given dispersion law ω(k). Then, the number A(z, t) is a basic representation of one wabit.
[0163] Generally speaking, multiple signals can travel in a single channel with different frequencies and / or polarization in the xy-plane. This multiplexity significantly increases the density of information in one channel and allows for the simultaneous processing of entire vectors or matrices of complex numbers. For a multi-frequency representation, one may assume propagation of waves with N different frequencies in each channel
[0164] N-l
[0165] 풜 (z, t) = Aiexp(ikiz —
[0166]
[0167] i=l
[0168] where Aiand kiare the complex amplitudes and wavenumbers for corresponding frequencies ωi. The multi-frequency signal 풜 can be projected onto an N-dimensional vector of wabits
[0169] / \
[0170] A =.
[0171]
[0172] WN-l /
[0173] The wavefront can also have a multipolarization representation. Assuming two waves with orthogonal polarizations in each channel:
[0174]
[0175] A.(z, t) = (Axex+ Ayey) exp(ifcz — ia>t),Project Linque, LMU München 23
[0176] 95797
[0177] where Axand Ayare the complex amplitudes for waves polarized along corresponding unit vectors exand ey, respectively, where the indices x and y represent the x- y-polarization, respectively. Such multipolarization signals may be represented by a two-component vector of trivial wabits or a quaternion:
[0178] A = / e H.
[0179]
[0180] v*y /
[0181] The complete representation involves utilizing both frequency and polarization multiplexing, offering the highest level of information density:
[0182] Aiαeαexp(ikiz -
[0183]
[0184] The complex amplitudes and wavenumbers for the corresponding waves are denoted by Aiaand ktrespectively. The index i = 0, 1,.. N - 1 corresponds to different frequencies a) while the index a = x,y corresponds to different polarizations. One can then introduce an N-vector of quaternions or a 2 x N matrix of wabits
[0185] A ox
[0186] Ai Aix Aly
[0187] AN-1, X A;v-l,y
[0188]
[0189] The possibility of real-number operations, may be assumed, for example, the measurement of physical quantities. Consequently, lowercase Latin or Greek symbols represent real numbers, while uppercase symbols represent complex numbers or tensors.
[0190] The system is initialized through multiple channels, each carrying an individual signal characterized by its phase and / or amplitude. As signals propagate through theProject Linque, LMU München 24
[0191] 95797 system, they serve as inputs and outputs for the instructions. Different instructions are combined to implement the target algorithm, resulting in the final output signals.
[0192] One-channel operations in the WAC architecture are demonstrated in the following. Among them, a fundamental one is the phase shift
[0193] Y = X exp i(p.
[0194] The corresponding code is Y = ROT(A, phi). The wabit A is therefore rotated in the complex plane by an angle of.
[0195] Two further operations that can be performed on the wabit amplitude are amplification and attenuation. Amplification increases the amplitude of the wabit, effectively boosting its signal strength. Attenuation, on the other hand, decreases the amplitude, reducing the signal strength:
[0196] Y = aX.
[0197] The corresponding codes are Y = AMP(X, a) and Y = ATT(X, a), respectively.
[0198] Scheme notations for non-multiplex-channel operations are demonstrated schematically in Fig. 4, wherein, from top to bottom, one has: analog channel, digital channel, multi-frequency channel, multipolarization channel, complex mixed channel, phase rotation, and gate U.
[0199] Beyond one-channel operations, more complex operations involve multiple input and / or output channels. This allows for intricate interactions between signals, such as implementing controlled operations where the signal of one-channel influences the manipulation of another, or combining two signals to obtain their sum:
[0200] Z = X + Y.
[0201] The corresponding code is Y = ADD(X, Y).Project Linque, LMU München 25
[0202] 95797
[0203] Fig. 5 illustrates a subtraction gate, which can be realized by combining phase shift and addition operations:
[0204] Y' = Y exp iπ,
[0205] Z = X + Y'.
[0206] Another important multichannel operation is a 50:50 splitter, which divides the signal from one channel into two equal-amplitude signals:
[0207]
[0208] with corresponding codes [Y1 Y2] = SPT(X). The related 50:50 mixer is defined as
[0209]
[0210] Y2) V2 M V W
[0211] with the code [Y1 Y2] = FFM(X1, X2).
[0212] A more general SU(2) mixing of two signals can be constructed using combinations of basic instructions
[0213] 0 wl i\ (X-X cos 0 — sin0\ / X-]X
[0214]
[0215] e~2l<p) \X2) sin< / > cos <p / \X2 /
[0216] Also an efficient realization of linear algebraic transformations is possible with the WAC architecture. One important operation is a matrix-vector multiplication.
[0217] Fig. 6 illustrates the algorithm to multiply an arbitrary matrix to an input vector based on singular value decomposition, where UNI is a unitary matrix transformation and DOT corresponds to a diagonal matrix operation. A unitary operation can be realizedProject Linque, LMU München 26
[0218] 95797 using the building block MIX instruction, two-channel special unitary transformation operations, based on either Reck or Clements proposal as shown in Fig. 7.
[0219] It has been shown that extending the neural network development to Fourier space for physics-informed development is an attractive alternative for finding efficient solutions to partial differential equations. An implementation of a Fourier neural operator, FNO, can be carried out on the proposed computing architecture in a procedure described in Fig. 8, where DFT and IDFT are the Fourier and inverse Fourier transform operation, respectively, and MAT is the vector-matrix operation as described previously. This operator can may be combined with normal weights as shown in Fig. 9 to obtain a Fourier layer for the neural network.
[0220] The WAC approach can also be used to implement a graph-optimizer algorithm to map graph problems in an analog system using frequency-multiplexing, as depicted in Fig. 10. Based on an optimization of a spin-based Ising model, each spin is represented as a wavefront analog input with different frequency and an arbitrary interaction between each input is set up. The emergent dynamics is described with a stochastic differential equation that maps to a graph problem. It can be shown that the evolution of the spin representation of a graph over a relatively small number of iterations results in an exact or near-optimal solution. The realization of this algorithm in the WAC approach rely, in particular, on two key functionalities: first, the frequency-multiplexed information encoding and second to utilize the control instructions to update the graph connections during every iteration. This is possible with a fast feedback mechanism in either the analog domain or by switching to digital signals in between.
[0221] The channel composes of N frequency bands
[0222]
[0223] ...,a)N, each of which carries a separate signal. The channel passes through complex partial filtering instructions for each individual frequency a)n, which is shown in the bottom part of Fig. 10. It comprises demultiplexing the particular frequency before detection, feedback and rerouting the information into the main channel again. After individual operations for partial filtering for each frequency, the information is ready for the next iteration. A possible physical implementation of the iterative optimization can be carried out inProject Linque, LMU München 27
[0224] 95797 photonic hardware with the help of a cavity or a resonator with self-injection, for example.Project Linque, LMU Munchen
[0225] 95797
[0226] References:
[0227] 1 computing system
[0228] 2 data processing device
[0229] 3 data encoding module
[0230] 4 input data
[0231] 5 processing module
[0232] 6 processing module
[0233] 7a, 7b processing modules
[0234] 8 host computer
[0235] 9 processor
[0236] 10 interface
[0237] 11 interface
[0238] 12 control unit
[0239] 13 memory
[0240] 14 local memory
[0241] 15a-15g channels
[0242] 16a-16j instructions
Claims
Project Linque, LMU München 2995797 CLAIMS:
1. A computing system (1 ) for continuous-value computing or partly continuous- value computing, whereinthe computing system (1) comprises a plurality of channels (15a, 15b, 15c, 15d, 15e, 15f, 15g), wherein each channel comprises a waveguide;the computing system (1) comprises a data encoding module (3), which is configured to encode predefined input data (4) in a representation, which comprises a set of complex values;the data encoding module (3) is configured to generate a respective signal for each of the plurality of channels (15a, 15b, 15c, 15d, 15e, 15f, 15g), which results in a set of signals, each signal of the set of signals comprising a wave with an amplitude spectrum and / or a frequency spectrum and / or a phase spectrum and / or a polarization spectrum depending on a respective subset of the set of complex values; andthe data encoding module (3) is configured to couple each of the set of signals into the waveguide of the respective channel; andthe computing system (1 ) comprises a plurality of processing modules (5, 6, 7a, 7b), which are coupled to the channels (15a, 15b, 15c, 15d, 15e, 15f, 15g) such that the set of signals is manipulated by the plurality of processing modules (5, 6, 7a, 7b) when propagating along the waveguides; and the plurality of processing modules (5, 6, 7a, 7b) comprises a first module (5), which is configured to receive a first subset of at least one signal from at least one of the channels (15a, 15b, 15c, 15d, 15e, 15f, 15g) and to generate at least one manipulated signal, which is related to the first subset of at least one signal according to a predefined mathematical operation implemented by the first module (5); andthe plurality of processing modules (5, 6, 7a, 7b) comprises a second module (6), which is configured to receive a second subset of at least one signal from at least one of the channels (15a, 15b, 15c, 15d, 15e, 15f, 15g) and to control a further processing of the set of signals according to a predefined control operation, which is implemented by the second module (6).Project Linque, LMU München 3095797 2. Computing system (1 ) according to claim 1, wherein the computing system (1 ) comprises a photonic chip, which comprises the plurality of processing modules (5, 6, 7a, 7b), and each of the set of signals comprises a light wave.
3. Computing system (1 ) according to claim 2, wherein in order generate the at least one manipulated signal, the first module (5) is configured to modify the respective amplitude spectra of the first subset of at least one signal by carrying out an interferometric phase modulation of the respective amplitude spectra and / or an external electronic modulation.
4. Computing system (1 ) according to one of claims 2 or 3, wherein in order generate the at least one manipulated signal, the first module (5) is configured to modify the respective phase spectra of the first subset of at least one signal by adjusting an optical path length of a medium through which the first subset of at least one signal propagates.
5. Computing system (1 ) according to one of claims 2 to 4, wherein in order generate the at least one manipulated signal, the first module (5) is configured to modify a polarization of the first subset of at least one signal by providing a birefringent element through which the first subset of at least one signal propagates.
6. Computing system (1 ) according to claim 1, wherein for each of the set of signals, the respective wave comprises an electromagnetic radio-frequency wave or a pressure wave in a fluid medium or an acoustic wave or an ultrasonic wave.
7. Computing system (1 ) according to one of the preceding claims comprising a data decoding module, which is configured to generate output data (6) by decoding the set of signals manipulated by the plurality of processing modules (5, 6, 7a, 7b).Project Linque, LMU München 3195797 8. Computing system (1 ) according to one of the preceding claims, wherein the mathematical operation, which is implemented by the first module (5), comprises at least one arithmetic operation and / or at least one trigonometric operation and / or at least one linear transformation and / or at least one matrix multiplication and / or at least one logic operation.
9. Computing system (1 ) according to one of the preceding claims, wherein the mathematical operation, which is implemented by the first module (5), comprises a transformation that maps a function in a first domain to a function in a second domain.
10. Computing system (1 ) according to one of the preceding claims, wherein the control operation, which is implemented by the second module (6), comprises a routing or re-routing of at least a part of the set of signals.
11. Computing system (1 ) according to one of the preceding claims, wherein the control operation, which is implemented by the second module (6), comprises a jump operation and / or a halt operation and / or a delay operation and / or a data storage operation and / or a data retrieval operation.
12. Computing system (1 ) according to one of the preceding claims, wherein the first subset of at least one signal is identical to the second subset of at least one signal and the second module (6) is configured todetermine a current number of times the first subset of at least one signal has already been manipulated by the first module (5); andto route the first subset of at least one signal to be manipulated by the first module (5) if the current number is less than predefined iteration number.
13. Computing system (1 ) according to one of the preceding claims, wherein the first module (5) is configured togenerate a set of digital signals depending on the first subset of at least one signal; andProject Linque, LMU München 3295797 carry out a computation according to the predefined mathematical operation based on the set of digital signals and store a result of the computation.
14. Computing system (1 ) according to claim 13, wherein the first module (5) is configured to manipulate the set of digital signals according to the predefined mathematical operation and convert the manipulated set of digital signals into a manipulated set of signals.
15. Computing system (1 ) according to one of the preceding claims, wherein the computing system (1) comprises an instruction engine (2), which implements an instruction set and is configured to provide respective control instructions to the plurality of processing modules (5, 6, 7a, 7b) based on one or more instructions of the instruction set and the plurality of processing modules (5, 6, 7a, 7b) is configured to carry out the respective instructions based on the control instructions.
16. Computing system (1) according to claim 15, wherein the instruction set comprisesa set of arithmetic and / or logic instructions; and / ora set of control flow instructions; and / ora set of data management and / or synchronization instructions.
17. Computing system (1) according to claim 15, wherein the instruction set comprisesa set of arithmetic and / or logic instructions, which specify mathematical and / or logical transformations of respective signals in one or more channels of the plurality of channels (15a, 15b, 15c, 15d, 15e, 15f, 15g); and / ora set of control flow instructions, which specify instruction sequences and / or specify a management and / or control of a signal flow through the plurality of channels (15a, 15b, 15c, 15d, 15e, 15f, 15g); and / ora set of data management and / or synchronization instructions, which specify information storage and / or retrieval from a storage device of the computing system (1 ) and / or specify the encoding of the predefined input data (4) by theProject Linque, LMU München 3395797 data encoding module (3) and / or specify a decoding the set of signals manipulated by the plurality of processing modules (5, 6, 7a, 7b) and / or specify a synchronization between the plurality of processing modules (5, 6, 7a, 7b) and / or the data encoding module (3).
18. Computing system (1 ) according to one of claims 15 to 17, whereinthe instruction engine (2) is configured to generate first control instructions based on a first instruction of the instruction set and to provide the first control instructions to the first module (5);the first module (5) is configured to generate the at least one manipulated signal depending on the first control instructions;the instruction engine (2) is configured to generate second control instructions based on a second instruction of the instruction set and to provide the second control instructions to the second module (6); andthe second module (6) control the further processing of the set of signals depending on the second control instructions.
19. Computing system (1 ) according to claim 18 and one of claims 16 or 17, whereinthe set of arithmetic and / or logic instructions comprises the first instruction, andthe set of control flow instructions comprises the second instruction or the set of data management and / or synchronization instructions comprises the second instruction.
20. Method for continuous-value computing or partly continuous-value computing, whereina computing system (1 ) comprising a plurality of channels (15a, 15b, 15c, 15d, 15e, 15f, 15g) is provided, wherein each channel comprises a waveguide, and a plurality of processing modules (5, 6, 7a, 7b); andpredefined input data (4) is encoded in a representation, which comprises a set of complex values and a respective signal is generated for each of the plurality of channels (15a, 15b, 15c, 15d, 15e, 15f, 15g), which results in a setProject Linque, LMU München 3495797 of signals, each of the set of signals comprising a wave with an amplitude spectrum and / or a frequency spectrum and / or a phase spectrum and / or a polarization spectrum depending on a respective subset of the set of complex values; andeach of the set of signals is coupled into the waveguide of the respective channel; andthe set of signals is manipulated by the plurality of processing modules (5, 6, 7a, 7b) when propagating the set of signals along the waveguides; and a first subset of at least one signal from at least one of the channels (15a, 15b, 15c, 15d, 15e, 15f, 15g) is received by a first module (5) of the plurality of processing modules (5, 6, 7a, 7b) and at least one manipulated signal is generated by the first module (5), which is related to the first subset of at least one signal according to a predefined mathematical operation implemented by the first module (5); anda second subset of at least one signal from at least one of the channels (15a, 15b, 15c, 15d, 15e, 15f, 15g) is received by a second module (6) of the plurality of processing modules (5, 6, 7a, 7b) and a further processing of the set of signals is controlled by the second module (6) according to a predefined control operation, which is implemented by the second module (6).