Method and apparatus for adapting a hardware accelerator
Through a unified adaptation process, the functional index interaction between the base station host unit and the hardware accelerator solves the problem of high adaptation difficulty of hardware accelerators from different manufacturers, and achieves low-cost adaptation and interaction.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-16
- Publication Date
- 2026-03-17
AI Technical Summary
The diverse implementation methods of the host unit and hardware accelerators from different manufacturers in 5G digital indoor distribution base stations lead to difficulties in adaptation and high costs.
The hardware accelerator is adapted through a unified adaptation process between the base station host unit and the hardware accelerator, which includes sending a list of function indexes, receiving function indexes, determining the function interfaces to be enabled, and sending enable commands.
It reduces the difficulty and cost of adapting and interfacing base station host units with hardware accelerators from different manufacturers, and shields the diversity of hardware accelerator implementation methods.
Smart Images

Figure CN116266811B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of 5G base station technology, and in particular to an adaptation method and apparatus for a hardware accelerator. Background Technology
[0002] A 5G digital indoor distributed base station consists of three parts: a main unit, an expansion unit (HUB), and a remote radio unit (RRU). The main unit includes a distributed unit (DU) and a central unit (CU).
[0003] Currently, the physical layer functions of distributed units in 5G digital indoor distributed cell base stations are divided in different ways. Depending on the product specifications, some or all computationally intensive functions are offloaded to hardware accelerators. For example, option 8, a partial offloading method, offloads functions such as Low Density Parity Check Code (LDPC) encoding / decoding and Fourier transform in the physical layer to hardware accelerators. Besides the different function division methods, the hardware accelerators also come in various forms. For instance, they can be single-card or dual-card configurations, and the main processing chip can be an Advanced RISC Processor (ARM), a Field-Programmable Gate Array (FPGA), a System-on-Chip (SoC), or a Digital Signal Processor (DSP), etc.
[0004] Due to the different ways of dividing physical layer functions in the host unit and the diverse hardware implementation methods, it is difficult for application layer software to adapt to different hardware accelerators and to connect with hardware accelerators from different manufacturers. Summary of the Invention
[0005] To address the aforementioned technical issues, this disclosure proposes a solution that enables base station host units to adapt to different hardware accelerators through a unified adaptation process, thereby reducing the difficulty and cost of adapting and interfacing base station host units with hardware accelerators from different manufacturers.
[0006] According to a first aspect of this disclosure, a hardware accelerator adaptation method is provided, executed by a base station host unit, comprising: sending a function index list to the hardware accelerator, the function index list including indexes corresponding to various functions; receiving the function indexes of the hardware accelerator; determining, based on the function indexes of the hardware accelerator, a function interface to be enabled in the hardware accelerator; and sending an enable command to the hardware accelerator for the function interface to be enabled, thereby completing the adaptation of the hardware accelerator.
[0007] In some embodiments, the method further includes: receiving a response message indicating that the adaptation is complete from the hardware accelerator; and sending a function interface call request to the hardware accelerator to invoke the function modules of the hardware accelerator.
[0008] In some embodiments, the method further includes: receiving a device identifier broadcast by the hardware accelerator; and establishing a communication link with the hardware accelerator based on the device identifier, so as to interact with the hardware accelerator through the communication link.
[0009] In some embodiments, if the device identifier is located in a pre-stored device identifier information table, a communication link with the hardware accelerator is established.
[0010] In some embodiments, the functional interfaces to be enabled in the hardware accelerator include at least one of the following: physical layer offload function interface, forward transmission function interface, time synchronization function interface, device maintenance and management function interface, and backhaul function interface.
[0011] According to a second aspect of this disclosure, a hardware accelerator adaptation method is provided, executed by the hardware accelerator, comprising: determining a function index of the hardware accelerator based on a function index list sent by a base station host unit, the function index list including indexes corresponding to various functions; sending the function index of the hardware accelerator to the base station host unit; and enabling the function interface to be enabled after receiving an enable instruction sent by the base station host unit for a function interface to be enabled in the hardware accelerator, thereby completing the adaptation of the hardware accelerator.
[0012] In some embodiments, the method further includes: after completing the adaptation of the hardware accelerator, sending an adaptation completion response message to the base station host unit.
[0013] In some embodiments, it further includes: a broadcast device identifier, the device identifier being used to establish a communication link between the base station host unit and the hardware accelerator.
[0014] In some embodiments, the functional interfaces to be enabled in the hardware accelerator include at least one of the following: physical layer offload function interface, forward transmission function interface, time synchronization function interface, device maintenance and management function interface, and backhaul function interface.
[0015] According to a third aspect of this disclosure, a hardware accelerator adaptation device is provided, comprising: a list sending module configured to send a function index list to the hardware accelerator, the function index list including indexes corresponding to various functions; an index receiving module configured to receive the function indexes of the hardware accelerator; a determining module configured to determine, based on the function indexes of the hardware accelerator, a function interface to be enabled in the hardware accelerator; and an enabling module configured to send an enabling instruction to the hardware accelerator for the function interface to be enabled, thereby completing the adaptation of the hardware accelerator.
[0016] According to a fourth aspect of this disclosure, an adaptation device for a hardware accelerator is provided, comprising: an index determination module configured to determine a function index of the hardware accelerator based on a function index list sent by a base station host unit, the function index list including indices corresponding to various functions; an index sending module configured to send the function index of the hardware accelerator to the base station host unit; and an enabling module configured to enable the function interface to be enabled after receiving an enable instruction sent by the base station host unit for a function interface to be enabled in the hardware accelerator.
[0017] According to a fifth aspect of this disclosure, an adaptation device for a hardware accelerator is provided, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute the hardware accelerator adaptation method described in any of the preceding embodiments based on instructions stored in the memory.
[0018] According to a sixth aspect of this disclosure, a computer-storeable medium is provided having computer program instructions stored thereon, which, when executed by a processor, implement the adaptation method of the hardware accelerator described in any of the above embodiments.
[0019] In the above embodiments, the base station host unit is adapted to different hardware accelerators through a unified adaptation process, which reduces the difficulty and cost of adapting and interfacing the base station host unit with hardware accelerators from different manufacturers. Attached Figure Description
[0020] The accompanying drawings, which form part of this specification, illustrate embodiments of this disclosure and, together with the specification, serve to explain the principles of this disclosure.
[0021] This disclosure will become clearer with reference to the accompanying drawings and the following detailed description, wherein:
[0022] Figure 1 This is a flowchart illustrating a method for adapting a hardware accelerator according to some embodiments of the present disclosure;
[0023] Figure 2This is a flowchart illustrating an adaptation method for a hardware accelerator according to other embodiments of the present disclosure;
[0024] Figure 3 This is a flowchart illustrating a method for adapting a hardware accelerator according to some embodiments of the present disclosure;
[0025] Figure 4 This is a block diagram illustrating an adapter for a hardware accelerator according to some embodiments of the present disclosure;
[0026] Figure 5 This is a block diagram illustrating an adapter for a hardware accelerator according to other embodiments of the present disclosure;
[0027] Figure 6 This is a schematic diagram illustrating the composition architecture of a base station host unit and a hardware accelerator according to some embodiments of the present disclosure;
[0028] Figure 7 This is a block diagram illustrating an adapter for a hardware accelerator according to some embodiments of the present disclosure;
[0029] Figure 8 This is a block diagram illustrating a computer system for implementing some embodiments of the present disclosure. Detailed Implementation
[0030] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.
[0031] At the same time, it should be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn according to actual scale.
[0032] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit this disclosure or its application or use.
[0033] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.
[0034] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.
[0035] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
[0036] Figure 1 This is a flowchart illustrating an adaptation method for a hardware accelerator according to some embodiments of the present disclosure. For example... Figure 1 As shown, the hardware accelerator adaptation method in this embodiment is executed by the base station host unit, including:
[0037] Step S110: Send the function index list to the hardware accelerator.
[0038] The function index list includes indices corresponding to various functions. For example, the index for function 1 is 001, the index for function 2 is 002, and the index for function 3 is 003.
[0039] Furthermore, the aforementioned functions may include one or more of the following: physical layer offloading function, fronthaul function, time synchronization function, equipment maintenance and management function, and backhaul function. The physical layer offloading function can be further divided into several types, each with a different index. For example, when the physical layer offloading function specifically involves low-density parity-check code (LDPC) encoding / decoding, inverse Fourier transform (iFFT) / Fourier transform (FFT), and cyclic prefix (CP) processing, the corresponding index is 001; when the physical layer offloading function specifically involves all downlink physical layer functions, the corresponding index is 002.
[0040] In step S110, the base station host unit sends a function index list to the hardware accelerator via a communication link. For example, in a 5G digital indoor distributed cell, the base station host unit includes a central unit and a distributed unit. In this example, the distributed unit sends the function index list to the hardware accelerator.
[0041] After receiving the function index list, the hardware accelerator determines its function index based on the list and sends the function index to the base station host unit.
[0042] Step S120: Receive the function index of the hardware accelerator.
[0043] In this step, the base station host unit receives the function index of the hardware accelerator.
[0044] Step S130: Determine the functional interfaces to be enabled in the hardware accelerator based on the functional index of the hardware accelerator.
[0045] There is a correspondence between functions and function interfaces. In some embodiments, after receiving the function index of the hardware accelerator, the base station host unit queries the correspondence between functions and function interfaces according to the function index of the hardware accelerator to obtain the function interfaces corresponding to the function index of the hardware accelerator, and uses these corresponding function interfaces as the function interfaces to be enabled in the hardware accelerator.
[0046] For example, the functional interfaces to be enabled include at least one of the following: physical layer offload function interface, forward transmission function interface, time synchronization function interface, device maintenance and management function interface, and backhaul function interface.
[0047] In some embodiments, a set of general functional interfaces is defined. Based on this set of general functional interfaces, the software development kits (SDKs) of different hardware accelerators are encapsulated. This allows upper-layer application software to abstract away the diversity of hardware accelerator implementations when calling the hardware accelerators, achieving overall reuse. This set of general functional interfaces specifically includes:
[0048] API-L1: Physical layer offload function interface, through which physical layer signal processing functions are provided to the outside world.
[0049] API-FH: Fronthaul Function Interface. This interface provides information packetization and depackaging according to the Open Radio Access Network (O-RAN) fronthaul interface protocol, as well as communication functions with the fronthaul interface (FH). Low-layer physical layer function offloading is an optional function.
[0050] API-Timing: The time synchronization function interface, which provides time information to the base station host unit system. The synchronization source for the hardware accelerator is not restricted here.
[0051] API-M: Device maintenance and management function interface, which provides maintenance and management functions for hardware accelerators and fronthaul equipment.
[0052] API-BF: The backhaul function interface, which provides access to the backhaul port to the outside world.
[0053] In practice, the general interfaces defined above can be extended according to actual needs, such as adding some new general interfaces.
[0054] Step S140: Send an enable command for the function interface to be enabled to the hardware accelerator to complete the hardware accelerator adaptation.
[0055] In some embodiments, the base station host unit places the enable instructions for each functional interface to be enabled in the same request message and sends it to the hardware accelerator.
[0056] In other embodiments, the base station host unit places the enable instructions for each functional interface to be enabled in different request messages and sends them to the hardware accelerator.
[0057] After receiving an enable command for a function interface to be enabled, the hardware accelerator enables the function interface to complete the hardware accelerator's adaptation.
[0058] In this embodiment, the base station host unit can adapt to different hardware accelerators by executing the aforementioned unified adaptation process, eliminating the need to write different applications for different hardware accelerators. This reduces the difficulty and cost of adapting and interfacing the base station host unit with hardware accelerators from different manufacturers. Furthermore, the base station host unit interacts with the hardware accelerator through a dynamically enabled, universal functional interface, shielding it from the diversity of hardware accelerator implementations.
[0059] Figure 2 This is a flowchart illustrating an adaptation method for a hardware accelerator according to other embodiments of this disclosure. For example... Figure 2 As shown, the hardware accelerator adaptation method in this embodiment is executed by the hardware accelerator and includes:
[0060] Step S210: Determine the function index of the hardware accelerator based on the function index list sent by the base station host unit.
[0061] The function index list includes indices corresponding to various functions. For example, the index for function 1 is 001, the index for function 2 is 002, and the index for function 3 is 003.
[0062] Furthermore, the aforementioned functions may include one or more of the following: physical layer offloading function, fronthaul function, time synchronization function, equipment maintenance and management function, and backhaul function. The physical layer offloading function can be further divided into several types, each with a different index. For example, when the physical layer offloading function specifically involves low-density parity-check code (LDPC) encoding / decoding, inverse Fourier transform (iFFT) / Fourier transform (FFT), and cyclic prefix (CP) processing, the corresponding index is 001; when the physical layer offloading function specifically involves all downlink physical layer functions, the corresponding index is 002.
[0063] In step S210, after receiving the function index list sent by the base station host unit, the hardware accelerator determines the index of the functions it possesses based on the function index list.
[0064] Step S220: Send the function index of the hardware accelerator to the base station host unit.
[0065] In this step, the hardware accelerator sends an index of its functionalities to the base station host unit.
[0066] After receiving the function index of the hardware accelerator, the base station host unit determines the function interfaces to be enabled in the hardware accelerator according to the function index, and sends enable commands for these function interfaces to the hardware accelerator.
[0067] Step S230: After receiving the enable command sent by the base station host unit for the functional interface to be enabled in the hardware accelerator, enable the functional interface to be enabled to complete the adaptation of the hardware accelerator.
[0068] In some embodiments, the hardware accelerator first registers the abstract classes corresponding to all functional interfaces, and after receiving an enable instruction for a functional interface to be enabled in the hardware accelerator, it then unregisters the abstract classes corresponding to functional interfaces that do not need to be enabled.
[0069] In other embodiments, after receiving an enable instruction for a functional interface to be enabled in the hardware accelerator, the hardware accelerator registers the abstract class corresponding to the functional interface to be enabled. For example, if the functional interfaces to be enabled are a physical offload functional interface and a fronthaul functional interface, then the abstract class corresponding to the physical offload functional interface and the abstract class corresponding to the fronthaul functional interface are registered.
[0070] By registering the abstract classes corresponding to the functional interfaces to be enabled only after receiving the enable command, compared to registering all the abstract classes corresponding to functional interfaces first and then unregistering the abstract classes corresponding to functional interfaces that do not need to be enabled, the consumption of system resources can be reduced.
[0071] In this embodiment, the above steps, in conjunction with the base station host unit, achieve a unified adaptation process. This unified adaptation process enables the base station host unit to adapt to different hardware accelerators without requiring the development of separate applications for each accelerator, thus reducing the difficulty and cost of adapting and interfacing the base station host unit with hardware accelerators from different manufacturers. Furthermore, by interacting with the base station host unit through dynamically enabled universal functional interfaces, the diversity of hardware accelerator implementations is shielded.
[0072] Figure 3 This is a flowchart illustrating an adaptation method for a hardware accelerator according to some embodiments of the present disclosure. For example... Figure 3 As shown, the hardware accelerator adaptation method of this embodiment is executed by the hardware accelerator and the base station host unit, including:
[0073] 301: Hardware accelerator broadcast device identifier.
[0074] In this step, the hardware accelerator broadcasts its device identifier and other information.
[0075] 302: The base station host unit determines that the device identifier is located in the pre-stored device identifier table.
[0076] Upon receiving the device identifier broadcast by the hardware accelerator, the base station host unit determines whether the device identifier is in the pre-stored device identifier table. If the device identifier is in the pre-stored device identifier table, it indicates that the device is a legitimate device, and step 303 is executed; if the device identifier is not in the pre-stored device identifier table, it indicates that the device is an illegitimate device, and the processing flow ends.
[0077] By determining whether the device identifier of the hardware accelerator is in the pre-stored device identifier table, the identity of the hardware accelerator is realized, which not only improves the security of the adaptation process, but also facilitates the identification and management of hardware accelerators.
[0078] 303: The base station host unit establishes a communication link with the hardware accelerator.
[0079] In step 303, the base station host unit determines the communication address of the hardware accelerator based on the device identifier of the hardware accelerator, and establishes a one-to-one communication link with the hardware accelerator based on the communication address of the hardware accelerator.
[0080] 304: The base station host unit sends a list of function indexes to the hardware accelerator.
[0081] In step 304, the base station host unit sends a function index list to the hardware accelerator through the communication link established in step 303. The function index list includes indices corresponding to various functions. For example, the index for function 1 is 001, the index for function 2 is 002, and the index for function 3 is 003.
[0082] Furthermore, the aforementioned functions may include one or more of the following: physical layer offloading function, fronthaul function, time synchronization function, equipment maintenance and management function, and backhaul function. The physical layer offloading function can be further divided into several types, each with a different index. For example, when the physical layer offloading function specifically involves low-density parity-check code (LDPC) encoding / decoding, inverse Fourier transform (iFFT) / Fourier transform (FFT), and cyclic prefix (CP) processing, the corresponding index is 001; when the physical layer offloading function specifically involves all downlink physical layer functions, the corresponding index is 002.
[0083] 305: The hardware accelerator determines the function index of the hardware accelerator based on the function index list.
[0084] After receiving the function index list sent by the base station host unit, the hardware accelerator determines the index of the functions it possesses based on the function index list.
[0085] 306: The hardware accelerator sends its function index to the base station host unit.
[0086] For example, if the functions of the hardware accelerator are indexed as 001 and 003, then function indices 001 and 003 are sent to the base station host unit.
[0087] 307: The base station host unit determines the functional interfaces to be enabled based on the functional index of the hardware accelerator.
[0088] There is a correspondence between functions and function interfaces. In some embodiments, after receiving the function index of the hardware accelerator, the base station host unit queries the correspondence between functions and function interfaces according to the function index of the hardware accelerator to obtain the function interfaces corresponding to the function index of the hardware accelerator, and uses these corresponding function interfaces as the function interfaces to be enabled in the hardware accelerator.
[0089] For example, the functional interfaces to be enabled include at least one of the following: physical layer offload function interface, forward transmission function interface, time synchronization function interface, device maintenance and management function interface, and backhaul function interface.
[0090] 308: The base station host unit sends an enable command to the hardware accelerator for the function interface to be enabled.
[0091] In some embodiments, the base station host unit places the enable instructions for each functional interface to be enabled in the same request message and sends it to the hardware accelerator.
[0092] In other embodiments, the base station host unit places the enable instructions for each functional interface to be enabled in different request messages and sends them to the hardware accelerator.
[0093] 309: Hardware accelerator enable function interface to be enabled.
[0094] In some embodiments, the hardware accelerator first registers the abstract classes corresponding to all functional interfaces, and after receiving an enable instruction for a functional interface to be enabled in the hardware accelerator, it then unregisters the abstract classes corresponding to functional interfaces that do not need to be enabled.
[0095] In other embodiments, after receiving an enable instruction for a functional interface to be enabled in the hardware accelerator, the hardware accelerator registers the abstract class corresponding to the functional interface to be enabled. For example, if the functional interfaces to be enabled are a physical offload functional interface and a fronthaul functional interface, then the abstract class corresponding to the physical offload functional interface and the abstract class corresponding to the fronthaul functional interface are registered.
[0096] Furthermore, taking the pre-pass function interface as an example, the abstract classes corresponding to the registration of the pre-pass function interface include:
[0097] Step 1: OAAL_FH_Timing_Source_Thread, open the timing thread of the fronthaul interface. This thread is responsible for updating timing information and sending and receiving data.
[0098] Step 2: OAAL_FH_Reg_Physide_CB, register the fronthaul interface callback function, which is periodically triggered by the fronthaul interface timing thread to initiate the corresponding physical layer processing tasks.
[0099] Step 3: OAAL_FH_Mem_Init, register the memory initialization function for the fronthaul interface.
[0100] Step 4: OAAL_FH_Sector_Get_Instances, retrieve information related to the fronthaul interface address mapping.
[0101] Step 5: OAAL_FH_BM_Init, register the fronthaul interface buffer queue management function.
[0102] Step 6: OAAL_FH_BM_Allocate_Buffer, allocate a buffer.
[0103] Step 7: OAAL_FH_TRX_Data_Req, register data. For example, for option 7-2, the registered data includes user plane (U-PLANE) data and control plane (C-PLANE) data, register channel buffer information, and the corresponding callback function.
[0104] Step 8: OAAL_FH_Prach_Req, register the Prach channel buffer information and the corresponding callback function.
[0105] In this embodiment of the disclosure, by registering the abstract class corresponding to the functional interface to be enabled only after receiving the enable instruction, compared to registering the abstract class corresponding to all functional interfaces first and then deregistering the abstract class corresponding to the functional interface that does not need to be enabled, the occupation of system resources can be reduced.
[0106] 310: The hardware accelerator sends a response message indicating that the adaptation is complete to the base station host unit.
[0107] After enabling each function interface to be enabled, the hardware accelerator sends an adaptation completion response to the base station host unit so that the base station host unit can promptly know the adaptation result of the hardware accelerator.
[0108] 311: The base station host unit sends a function interface call request to the hardware accelerator.
[0109] 312: The hardware accelerator calls the corresponding functional modules.
[0110] For example, after receiving a physical offload function interface call request from the base station host unit, the hardware accelerator calls its physical offload function module. Similarly, after receiving a fronthaul function interface call request from the base station host unit, the hardware accelerator calls its fronthaul function module.
[0111] In this embodiment, by executing the aforementioned unified adaptation process, different hardware accelerators can be adapted without the need to write different applications for different hardware accelerators, thus reducing the difficulty and cost of adapting and interfacing the base station host unit with hardware accelerators from different manufacturers. Furthermore, the base station host unit interacts with the hardware accelerator through a dynamically enabled universal functional interface, shielding it from the diversity of hardware accelerator implementation methods.
[0112] Figure 4 This is a block diagram illustrating an adapter for a hardware accelerator according to some embodiments of the present disclosure. Figure 4 As shown, the hardware accelerator adaptation device of this embodiment is disposed in the base station host unit, including: a list sending module 410, an index receiving module 420, a determination module 430, and an enable module 440.
[0113] List sending module 410 is configured to send a list of function indexes to the hardware accelerator.
[0114] The function index list includes indices corresponding to various functions. For example, the index for function 1 is 001, the index for function 2 is 002, and the index for function 3 is 003. After receiving the function index list, the hardware accelerator determines its own function index based on the list.
[0115] In some embodiments, the adapter for the hardware accelerator further includes a communication link establishment module (not shown in the figure), configured to receive a device identifier broadcast by the hardware accelerator before the call list sending module 410; and establish a communication link with the hardware accelerator based on the device identifier, so as to interact with the hardware accelerator through the communication link.
[0116] The index receiving module 420 is configured to receive the functional index of the hardware accelerator.
[0117] The determination module 430 is configured to determine the functional interfaces to be enabled in the hardware accelerator based on the functional index of the hardware accelerator.
[0118] There is a correspondence between functions and function interfaces. In some embodiments, after receiving the function index of the hardware accelerator, the base station host unit queries the correspondence between functions and function interfaces according to the function index of the hardware accelerator to obtain the function interfaces corresponding to the function index of the hardware accelerator, and uses these corresponding function interfaces as the function interfaces to be enabled in the hardware accelerator.
[0119] For example, the functional interfaces to be enabled include at least one of the following: physical layer offload function interface, forward transmission function interface, time synchronization function interface, device maintenance and management function interface, and backhaul function interface.
[0120] In some embodiments, a set of general functional interfaces is defined. Based on this set of general functional interfaces, software development kits (SDKs) for different hardware accelerators are encapsulated, which can shield the diversity of hardware accelerator implementations when upper-layer application software calls the hardware accelerators, achieving overall reuse.
[0121] Enable module 440 is configured to send enable commands to the hardware accelerator for the functional interface to be enabled, in order to complete the adaptation of the hardware accelerator.
[0122] In some embodiments, the enable module 440 places the enable instructions for each functional interface to be enabled in the same request message and sends it to the hardware accelerator.
[0123] In other embodiments, the enable module 440 places the enable instructions for each functional interface to be enabled in different request messages and sends them to the hardware accelerator.
[0124] After receiving an enable command for a function interface to be enabled, the hardware accelerator enables the function interface to complete the hardware accelerator's adaptation.
[0125] In some embodiments, the hardware accelerator adaptation device further includes a function interface call module (not shown in the figure), which is configured to send a function interface call request to the hardware accelerator after receiving the adaptation completion response information sent by the hardware accelerator, so as to realize the call of the function module in the hardware accelerator.
[0126] In this embodiment, the above device can be adapted to different hardware accelerators without the need to write different applications for different hardware accelerators, thus reducing the difficulty and cost of adapting and interfacing the base station host unit with hardware accelerators from different manufacturers. Furthermore, the base station host unit interacts with the hardware accelerator through a dynamically enabled universal functional interface, shielding it from the diversity of hardware accelerator implementation methods.
[0127] Figure 5This is a block diagram illustrating an adapter for a hardware accelerator according to other embodiments of the present disclosure. Figure 5 As shown, the adaptation device for the hardware accelerator in this embodiment of the present disclosure is disposed in the hardware accelerator, including: an index determination module 510, an index sending module 520, and an enable module 530.
[0128] The index determination module 510 is configured to determine the functional index of the hardware accelerator based on the functional index list sent by the base station host unit.
[0129] The function index list includes indices corresponding to various functions. For example, the index for function 1 is 001, the index for function 2 is 002, and the index for function 3 is 003.
[0130] In some embodiments, the adapter for the hardware accelerator further includes a broadcast module (not shown) configured to broadcast a device identifier before invoking the index determination module 510. After receiving the device identifier broadcast by the hardware accelerator, the base station host unit establishes a communication link between the base station host unit and the hardware accelerator through the device identifier, so as to interact with the hardware accelerator through the communication link.
[0131] The index sending module 520 is configured to send the functional index of the hardware accelerator to the base station host unit.
[0132] After receiving the function index of the hardware accelerator, the base station host unit determines the function interfaces to be enabled in the hardware accelerator according to the function index, and sends enable commands for these function interfaces to the hardware accelerator.
[0133] The enable module 530 is configured to enable the functional interface to be enabled in the hardware accelerator after receiving the enable command sent by the base station host unit for the functional interface to be enabled in the hardware accelerator, so as to complete the adaptation of the hardware accelerator.
[0134] In some embodiments, the enabling module 530 first registers the abstract classes corresponding to all functional interfaces, and after receiving the enabling instruction for the functional interface to be enabled in the hardware accelerator, it then unregisters the abstract classes corresponding to the functional interfaces that do not need to be enabled.
[0135] In other embodiments, after receiving an enable instruction for a functional interface to be enabled in the hardware accelerator, the enable module 530 registers the abstract class corresponding to the functional interface to be enabled. For example, if the functional interfaces to be enabled are a physical offload functional interface and a fronthaul functional interface, then the abstract class corresponding to the physical offload functional interface and the abstract class corresponding to the fronthaul functional interface are registered.
[0136] By registering the abstract classes corresponding to the functional interfaces to be enabled only after receiving the enable command, compared to registering all the abstract classes corresponding to functional interfaces first and then unregistering the abstract classes corresponding to functional interfaces that do not need to be enabled, the consumption of system resources can be reduced.
[0137] In some embodiments, the hardware accelerator adaptation device further includes an adaptation response module (not shown in the figure), which is configured to send an adaptation completion response message to the base station host unit after the hardware accelerator adaptation is completed, so that the base station host unit can know the hardware accelerator adaptation result in a timely manner.
[0138] In this embodiment, the above-described device, in conjunction with the base station host unit, achieves a unified adaptation process. This enables the base station host unit to adapt to different hardware accelerators without requiring the development of separate applications for each accelerator, thus reducing the difficulty and cost of adapting and interfacing the base station host unit with hardware accelerators from different manufacturers. Furthermore, by interacting with the base station host unit through a dynamically enabled, universal functional interface, the diversity of hardware accelerator implementation methods is shielded.
[0139] Figure 6 This is a schematic diagram illustrating the composition architecture of a base station host unit and a hardware accelerator according to some embodiments of the present disclosure. Figure 6 As shown, the architecture includes: a base station host unit 610 and a hardware accelerator 620.
[0140] The base station host unit 610 includes an application software system 611. In some embodiments, the application software system 611 includes... Figure 4 The adapter for the hardware accelerator shown.
[0141] The hardware accelerator 620 includes an interface layer 621, an SDK 622, and a hardware board 623. The interface layer 621 includes general-purpose function interface 1, function interface 2, ..., function interface n. The SDK 622 includes the board driver and function library. The interface layer 621 and the SDK 622, as a whole, are collectively referred to as the software subsystem of the hardware accelerator. In some embodiments, Figure 5 The adapter for the hardware accelerator shown is located in the software subsystem of the hardware accelerator.
[0142] The hardware accelerator 620 provides services to the base station host unit 610 through an enabled functional interface, and the base station host unit 610 interacts with the hardware accelerator 620 through the enabled functional interface. In some embodiments, the hardware accelerator provides the following five types of functions: physical layer offloading function, fronthaul function, remote device management function, time synchronization function, and backhaul function.
[0143] In this embodiment, by setting up an adapter for the hardware accelerator, different hardware accelerators can be adapted, eliminating the need to write different applications for different hardware accelerators. This reduces the difficulty and cost of adapting and interfacing the base station host unit with hardware accelerators from different manufacturers. Furthermore, the base station host unit interacts with the hardware accelerator through a dynamically enabled universal functional interface, shielding it from the diversity of hardware accelerator implementation methods.
[0144] Figure 7 This is a block diagram illustrating an adapter for a hardware accelerator according to other embodiments of the present disclosure.
[0145] like Figure 7 As shown, the hardware accelerator adaptation device 700 includes a memory 710 and a processor 720 coupled to the memory 710. The memory 710 is used to store instructions for executing embodiments of the hardware accelerator adaptation method. The processor 720 is configured to execute the hardware accelerator adaptation method of any of the embodiments of this disclosure based on the instructions stored in the memory 710.
[0146] Figure 8 This is a block diagram illustrating a computer system for implementing some embodiments of the present disclosure.
[0147] like Figure 8 As shown, the computer system 800 can be represented in the form of a general computing device. The computer system 800 includes a memory 810, a processor 820, and a bus 830 connecting different system components.
[0148] The memory 810 may include, for example, system memory, non-volatile storage media, etc. The system memory may store, for example, an operating system, application programs, a boot loader, and other programs. The system memory may include volatile storage media, such as random access memory (RAM) and / or cache memory. The non-volatile storage media may store, for example, instructions for executing at least one of the adaptation methods for the hardware accelerator in a corresponding embodiment. Non-volatile storage media include, but are not limited to, disk storage, optical storage, flash memory, etc.
[0149] The processor 820 can be implemented using discrete hardware components such as general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates, or transistors. Correspondingly, each module, such as the list sending module and the index receiving module, can be implemented either by the central processing unit (CPU) running instructions in memory to execute the corresponding steps, or by dedicated circuitry to execute the corresponding steps.
[0150] Bus 830 can use any of a variety of bus architectures. For example, bus architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, and Peripheral Component Interconnect (PCI) bus.
[0151] The computer system 800 may also include an input / output interface 840, a network interface 850, and a storage interface 860. These interfaces 840, 850, and 860, as well as the memory 810 and processor 820, can be connected via a bus 830. The input / output interface 840 provides a connection interface for input / output devices such as a monitor, mouse, and keyboard. The network interface 850 provides a connection interface for various networked devices. The storage interface 860 provides a connection interface for external storage devices such as floppy disks, USB flash drives, and SD cards.
[0152] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus, and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations thereof, can be implemented by computer-readable program instructions.
[0153] These computer-readable program instructions are provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable device to produce a machine, such that execution of the instructions by the processor produces means for implementing the functions specified in one or more boxes of the flowchart and / or block diagram.
[0154] These computer-readable program instructions may also be stored in a computer-readable storage medium. These instructions cause a computer to work in a particular manner to produce an article of manufacture, including instructions that implement the functions specified in one or more boxes in a flowchart and / or block diagram.
[0155] This disclosure may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects.
[0156] The hardware accelerator adaptation method and apparatus in the above embodiments enable the base station host unit to adapt to different hardware accelerators through a unified adaptation process, thereby reducing the difficulty and cost of adapting and interfacing the base station host unit with hardware accelerators from different manufacturers.
[0157] The adaptation method and apparatus for the hardware accelerator according to this disclosure have now been described in detail. To avoid obscuring the concept of this disclosure, some details known in the art have not been described. Those skilled in the art can fully understand how to implement the technical solutions disclosed herein based on the above description.
Claims
1. A hardware accelerator adaptation method, executed by a base station host unit, comprising: receiving a device identification broadcasted by a hardware accelerator; establishing a communication link with the hardware accelerator if the device identification is located in a pre-stored device identification information table; sending a function index list to the hardware accelerator through the communication link, the function index list comprising indexes corresponding to various functions; receiving an index of functions possessed by the hardware accelerator determined based on the function index list sent by the hardware accelerator; determining a function interface to be enabled in the hardware accelerator according to the index of functions possessed by the hardware accelerator, comprising: querying a correspondence between functions and function interfaces according to the index of functions possessed by the hardware accelerator to obtain a function interface corresponding to the index of functions possessed by the hardware accelerator, and taking the function interface corresponding to the index of functions possessed by the hardware accelerator as the function interface to be enabled in the hardware accelerator; sending an enabling instruction for the function interface to be enabled to the hardware accelerator to complete adaptation of the hardware accelerator, wherein the enabling instruction is used to trigger the hardware accelerator to unregister an abstract class corresponding to a function interface that does not need to be enabled in all pre-registered abstract classes, or the enabling instruction is used to trigger the hardware accelerator to register an abstract class corresponding to the function interface to be enabled.
2. The hardware accelerator adaptation method of claim 1, further comprising: receiving response information of adaptation completion sent by the hardware accelerator; sending a function interface call request to the hardware accelerator to realize calling of a function module of the hardware accelerator.
3. The hardware accelerator adaptation method of claim 1, wherein, The function interface to be enabled in the hardware accelerator comprises at least one of: a physical layer offloading function interface, a front-haul function interface, a time synchronization function interface, a device maintenance management function interface, and a backhaul function interface.
4. A hardware accelerator adaptation method, executed by a hardware accelerator, comprising: broadcasting a device identification so that a base station host unit establishes a communication link with the hardware accelerator if the device identification is located in a pre-stored device identification information table; receiving a function index list sent by the base station host unit through the communication link; determining an index of functions possessed by the hardware accelerator according to the function index list sent by the base station host unit, the function index list comprising indexes corresponding to various functions; sending the index of functions possessed by the hardware accelerator to the base station host unit so that the base station host unit queries a correspondence between functions and function interfaces according to the index of functions possessed by the hardware accelerator to obtain a function interface corresponding to the index of functions possessed by the hardware accelerator, and takes the function interface corresponding to the index of functions possessed by the hardware accelerator as a function interface to be enabled in the hardware accelerator. enable the function interface to be enabled in the hardware accelerator to complete the adaptation of the hardware accelerator, including: deregistering an abstract class corresponding to a function interface that does not need to be enabled in all pre-registered abstract classes corresponding to function interfaces, or registering an abstract class corresponding to the function interface to be enabled.
5. The adaptation method of the hardware accelerator according to claim 4, further comprising: after completing the adaptation of the hardware accelerator, sending response information of adaptation completion to the base station host unit.
6. The method of adapting a hardware accelerator according to claim 4, wherein, The function interface to be enabled in the hardware accelerator includes at least one of: a physical layer offloading function interface, a front-haul function interface, a time synchronization function interface, a device maintenance management function interface, and a backhaul function interface.
7. An adaptation apparatus of a hardware accelerator, configured to execute the adaptation method of the hardware accelerator according to any one of claims 1 to 3, comprising: a list sending module configured to send a function index list to the hardware accelerator, the function index list including indexes corresponding to various functions; an index receiving module configured to receive a function index of the hardware accelerator; a determination module configured to determine a function interface to be enabled in the hardware accelerator according to the function index of the hardware accelerator; an enabling module configured to send an enabling instruction for the function interface to be enabled in the hardware accelerator to the hardware accelerator to complete the adaptation of the hardware accelerator.
8. An adaptation apparatus of a hardware accelerator, configured to execute the adaptation method of the hardware accelerator according to any one of claims 4 to 6, comprising: an index determination module configured to determine a function index of the hardware accelerator according to a function index list sent by a base station host unit, the function index list including indexes corresponding to various functions; an index sending module configured to send the function index of the hardware accelerator to the base station host unit; an enabling module configured to enable a function interface to be enabled in the hardware accelerator after receiving an enabling instruction for the function interface to be enabled sent by the base station host unit.
9. An adaptation apparatus of a hardware accelerator, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute the adaptation method of the hardware accelerator according to any one of claims 1 to 3, 4 to 6 based on instructions stored in the memory.
10. A computer storage medium having computer program instructions stored thereon, the instructions being executed by a processor to implement the adaptation method of the hardware accelerator according to any one of claims 1 to 3, 4 to 6.
Citation Information
Patent Citations
Dynamic generation method and device for equipment abstract model
CN112667213A