Communication method, device and system, storage medium and computer program product
By obtaining the device identification information of the computing device, automatically generating registration codes and identifying hardware configuration information, the problems of communication incompatibility and low efficiency between heterogeneous devices are solved, and an efficient and stable data transmission method is realized, which is suitable for a variety of heterogeneous devices.
Patent Information
- Application Number
- CN202411743393.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-30
- Publication Date
- 2025-03-21
AI Technical Summary
In large-scale computing involving multiple computing devices, heterogeneous devices with different hardware architectures have problems such as incompatibility and low communication efficiency when communicating with each other due to different chip types and different software versions. The existing communication methods have low coverage of chip types and insufficient scalability, and cannot cope with communication between a variety of heterogeneous devices.
By obtaining the device identification information of the computing device participating in the communication, matching its registration code, identifying hardware configuration information and communication parameters, and selecting a suitable method from the registered data transmission methods to communicate. The method includes automatically generating registration codes, performing memory and video memory management, and performing error detection and processing during data transmission.
It realizes the selection of an optimized and efficient data transmission method for heterogeneous devices, simplifies the communication process, has sufficient scalability and coverage, and improves the communication efficiency and stability between computing devices.
Smart Images

Figure CN119669137A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to distributed computing, and more particularly to a communication method, apparatus, system, storage medium, and computer program product for communication between computing devices. Background Art
[0002] In large-scale computing involving multiple computing devices, such as distributed training scenarios for large artificial intelligence models, communication between computing devices is important. Different computing devices may have different hardware architectures. Summary of the invention
[0003] The inventor of the present application has noticed that in large-scale computing involving multiple computing devices, computing devices with different hardware architectures (or referred to as heterogeneous devices) may have problems such as incompatibility and low communication efficiency when communicating with each other due to different chip types and software versions. The communication methods for heterogeneous devices known to the inventor of the present application generally only focus on communication between fixed and limited types of chips, such as communication between a chip of a certain manufacturer and a graphics processing unit (GPU), communication between different types of chips of the same manufacturer, etc. These communication methods have low coverage of chip types and insufficient scalability, and cannot cope with the communication between different types of chips or chip combinations of various heterogeneous devices.
[0004] In view of this, the present application intends to provide a communication method, apparatus, system, storage medium, and computer program product for communication between heterogeneous devices having different types of chips, so as to solve the problems in the related art.
[0005] In a first aspect, the present application provides a communication method between computing devices, wherein the computing devices have different hardware configurations, the hardware configurations include different types of chips, and the communication method includes:
[0006] Obtaining device identification information of computing devices participating in the communication;
[0007] matching a registration code of the computing device according to the device identification information;
[0008] Identify hardware configuration information and communication parameters of the computing device according to the registration code of the computing device, wherein the hardware configuration information includes a type of a chip of the computing device and configuration related to communication;
[0009] A data transmission mode suitable for the communication is selected from registered data transmission modes according to the hardware configuration information and communication parameters of the computing device.
[0010] In some embodiments, the communication method further comprises:
[0011] Obtaining hardware configuration information and communication parameters of the computing device through a graphical user interface and / or a command line tool, wherein the hardware configuration information includes the device identification information;
[0012] A registration code for the computing device is automatically generated according to the acquired hardware configuration information and communication parameters of the computing device.
[0013] In some embodiments, the device identification information includes an identification code, model, and manufacturer information of the computing device.
[0014] The communication-related configuration includes the type of communication interface of the computing device, supported communication protocols, processor speed, memory size, video memory size, and maximum data transfer rate,
[0015] The communication parameters include the starting address, direction, delay and bandwidth requirements of the data transmission and the amount of data to be transmitted.
[0016] In some embodiments, the registration code includes settings related to memory management, including locking and unlocking of memory, and
[0017] The communication method further includes: during the communication process, performing memory management according to settings related to memory management in the registration code.
[0018] In some embodiments, when the computing device uses a graphics processing unit during the communication, the registration code includes settings related to video memory management, the video memory management includes locking and unlocking of video memory, and
[0019] The communication method further includes: during the communication process, performing video memory management according to the settings related to video memory management in the registration code.
[0020] In some embodiments, the registration code includes settings related to data transmission error detection and handling, and
[0021] The communication method further includes: during the communication, performing error detection and processing according to settings related to data transmission error detection and processing in the registration code.
[0022] In a second aspect, the present application provides an apparatus for communication between computing devices, wherein the computing devices have different hardware configurations, the hardware configurations include different types of chips, and the apparatus includes:
[0023] Processor; and
[0024] a memory including computer program code stored thereon,
[0025] When the computer program code is executed by the processor, the processor is enabled to implement the communication method as described above.
[0026] In a third aspect, the present application provides a computing system, comprising:
[0027] Computing devices having different hardware configurations including different types of chips; and
[0028] Means for communication between the computing devices, the means comprising:
[0029] Processor; and
[0030] a memory including computer program code stored thereon,
[0031] Wherein, when the computer program code is executed by the processor, the processor is enabled to implement the communication method according to any one of the above items.
[0032] In a fourth aspect, the present application provides a non-transitory computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the processor implements a communication method according to any one of the above items.
[0033] In a fifth aspect, the present application provides a computer program product, comprising computer instructions, which, when executed by a processor, enable the processor to implement a communication method according to any one of the above items.
[0034] The present application can select optimized and efficient data transmission methods for computing devices with different types of chips, simplifies the communication process, and has sufficient scalability and coverage.
[0035] Other optional features and technical effects of the present application are partially described below, and partially can be understood by reading this document. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Hereinafter, embodiments of the present application will be described in detail with reference to the accompanying drawings. The elements shown are not limited by the proportions shown in the accompanying drawings. The same or similar reference numerals in the accompanying drawings represent the same or similar elements, wherein:
[0037] Figure 1 A communication diagram between a common GPU and a heterogeneous chip according to an embodiment of the present application is shown;
[0038] Figure 2 A structural block diagram of a communication management device according to an embodiment of the present application is shown;
[0039] Figure 3An example flow chart of a communication method between computing devices according to an embodiment of the present application is shown;
[0040] Figure 4 An exemplary structural diagram of a device capable of implementing the method according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0041] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with specific implementation methods and drawings. Here, the illustrative implementation methods and descriptions of the present application are used to explain the present application, but are not intended to limit the present application.
[0042] As used herein, the term "including" and its variations mean open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "based at least in part on". The terms "an example embodiment" and "an embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0043] Figure 1 A common communication diagram between a GPU and a heterogeneous chip is shown, where RDMA stands for remote direct data access. The core of this application is to perform high-level encapsulation of the computing and communication logic of the box area, aiming to provide a concise and efficient communication library so that different computing devices can communicate quickly, thereby significantly improving communication efficiency. This application not only simplifies the communication process, but also provides strong support for collaborative work between computing devices.
[0044] Figure 2 FIG. 1 shows a structural block diagram of a communication management device according to an embodiment of the present application. Figure 2 As shown, the communication library of the communication management device for communication between heterogeneous computing devices (or hardware platforms) provided in the embodiment of the present application may include a communication interface, a code generator, and an identification module. The design of the communication interface of the present application is intended to provide a highly flexible and scalable solution to meet the communication needs between heterogeneous computing devices. Heterogeneous computing devices refer to computing devices participating in the communication having different hardware configurations, and the hardware configurations include different types of chips.
[0045] In some embodiments, the communication interface is used to obtain hardware configuration information and communication parameters of the computing device. The hardware configuration information may include device identification information, the type of chip of the computing device, and configuration related to communication. The device identification information may include the identification code, model, and manufacturer information of the computing device. The type of chip of the computing device may include the central processing unit (CPU) model and the graphics processing unit (GPU) model, etc. The configuration related to communication may include the type of communication interface of the computing device, the supported communication protocol, processor speed, memory size, video memory size, and maximum data transfer rate. The communication parameters may include the starting address, direction, delay and bandwidth requirements of the data transmission, and the amount of data to be transmitted. It should be understood that the hardware configuration information and communication parameters of the computing device are not limited to the specific examples listed above, and may also include other hardware configuration information and other communication parameters required for communication between computing devices.
[0046] The communication interface can obtain the hardware configuration information of the computing device when registering it, which is used to optimize data transmission and processing; it can also obtain communication parameters, so that it can ensure that data is accurately transmitted from one computing device to another computing device, which helps the communication management device to perform appropriate resource allocation and processing. The acquisition of the hardware configuration information and communication parameters of the computing device can be carried out, for example, through a graphical user interface and / or a command line tool. For example, the communication management device provides the user with a graphical user interface and / or a command line tool (not shown) of the software that drives the communication interface through its display device (such as a display), so that the user can input the hardware configuration information and communication parameters of the computing device through simple and convenient operations. After obtaining the hardware configuration information and communication parameters of the computing device, the communication management device can, for example, automatically generate the registration code of the computing device based on the hardware configuration information and communication parameters of the computing device obtained, using a code generator (described in detail later). The registration code generated in this way can reflect the information of the hardware configuration information and communication parameters of the computing device, so that when communicating between computing devices, it is only necessary to match its registration code based on the device identification information of the computing device, and identify the hardware configuration information and communication parameters of the computing device by reading or parsing the registration code.
[0047] To ensure stability and performance during data transmission, the communication interface may also provide memory management functions, such as locking and unlocking memory, which can prevent the operating system from paging or swapping memory during data transmission, thereby improving the efficiency of data transmission. In this case, the registration code of the computing device may include settings related to memory management. For computing devices that need to use a graphics processing unit (GPU) during communication, the communication interface may also provide video memory management functions, such as locking and unlocking video memory, to support efficient graphics data processing and transmission. In this case, the registration code may include settings related to video memory management.
[0048] The communication interface encapsulates the actual data transmission operation, so that the communication management device does not need to care about the underlying hardware details, and only needs to send and receive data through the function calls provided by the communication interface. The communication interface integrates an error detection and handling mechanism, which can automatically detect and report errors during data transmission, thereby improving the stability and reliability of the system. The communication interface also provides performance optimization functions, such as data compression and transmission buffer management, to reduce data transmission delays and improve throughput.
[0049] The communication interface of the present application is universal and can support many different types of computing devices, including but not limited to personal computers, servers, mobile devices, etc. The communication interface also provides extension points, allowing developers to add new functions as needed, improving scalability and meeting communication needs.
[0050] In order to protect the security of transmitted data, the communication interface supports data encryption function to ensure that data is not intercepted and tampered with by unauthorized third parties during transmission; the communication interface also provides an access control mechanism to ensure that only authorized devices and users can access and use the communication interface.
[0051] The communication interface of the present application can provide an efficient, stable and secure communication platform for different computing devices. In order to simplify and accelerate the access of computing devices to the communication interface during communication, the communication management device also provides a code generator, which is used to generate a registration code for the computing device based on the hardware configuration information and communication parameters of the computing device obtained by the communication interface.
[0052] The registration code automatically generated by the code generator may include all necessary function calls and parameter settings to ensure that the computing device can correctly register with the communication interface and start communication. Specifically, the registration code may include, for example, device identification information of the computing device, such as an identification code (e.g., device ID), model, and manufacturer information of the computing device, so that the communication interface can identify and verify the computing device. The registration code may also include the type of chip of the computing device, such as the central processing unit (CPU) model and the graphics processing unit (GPU) model. The registration code may also include configurations related to communication, such as the type of communication interface of the computing device, supported communication protocols, processor speed, memory size, video memory size, and maximum data transfer rate. The registration code may also include communication parameters, such as the starting address, direction, delay and bandwidth requirements of data transmission, and the amount of data to be transmitted, to ensure that data can be correctly transmitted between computing devices. If the computing of the computing device involves graphics processing, the registration code may also include settings related to video memory management, which may include locking and unlocking of video memory. In addition, the registration code may also include settings related to memory management, which may include locking and unlocking of memory. In order to ensure that potential problems can be discovered and handled in time during actual use, the registration code may also include necessary error detection and handling mechanisms. It should be understood that the registration code may include all of the above information in the form of directly including data containing the above information, or in the form of data obtained by encoding or encrypting the above information, or in other ways.
[0053] To ensure that the computing device can work properly during actual communication, the user can run the generated registration code in a safe test environment before the deployment of the computing system to verify its functionality and performance.
[0054] In a specific implementation of the present application, the code generator can, for example, automatically generate a registration code based on the Code Generation code generation technology. In addition, the communication management device can also provide a command line tool to allow the user to generate a registration code through a script or command line input. It should be understood that the generation of the registration code is not limited to these methods, and the registration code that can realize the communication function in the present application can also be generated by other methods.
[0055] The registered code generation mechanism of the code generator can be updated regularly to support new computing devices and communication protocols. Users can ensure that their computing devices are always compatible with the latest communication interfaces by updating online or downloading the latest code generation tool.
[0056] Through the automatic registration code generation mechanism, this application not only improves the efficiency of computing devices accessing communication interfaces, but also lowers the technical threshold for users in hardware support, allowing even non-professional users to easily expand the hardware support range of communication interfaces.
[0057] In order to improve the efficiency and convenience of communication between computing devices, the communication management device of the present application may also include an identification module, which is used to identify the type of computing device participating in the communication according to the registration code generated by the code generator, and select an appropriate data transmission method to achieve communication between the computing devices participating in the communication.
[0058] The identification module uses a hardware identification algorithm to accurately identify the hardware configuration information and communication parameters of the computing devices involved in the communication. The hardware configuration information includes, for example, the type of chip of the computing device and the configuration related to the communication. The specific identification process is: the identification module reads the registration code of the computing device involved in the communication to determine the hardware configuration information and communication parameters of the computing device. The identification module also evaluates the performance characteristics, communication capabilities and communication requirements of different computing devices by analyzing the type of chip and communication-related configuration (such as the type of communication interface, supported communication protocols, processor speed, memory size, video memory size and maximum data transfer rate) and communication parameters of the computing devices involved in the communication, thereby enabling the selection of an appropriate data transmission method to achieve communication between computing devices.
[0059] The communication management device can select the most suitable method from the multiple data transmission methods that have been registered in the communication library to meet the requirements of data transmission rate, delay, bandwidth requirements and hardware compatibility, so as to ensure the efficiency and stability of data transmission. In some embodiments, the data transmission method may include, for example, direct memory access (DMA), high-speed serial interface (such as PCIe), wireless communication protocol, etc.
[0060] It should be understood that although Figure 2 The communication management device is shown as being independent of the computing device, but part or all of the functions of the communication management device can be implemented by the computing device itself. For example, a computer program that implements the communication interface function can be installed in the form of software on the computing device participating in the communication. Alternatively, a computer program that implements the functions of the entire communication library (including the communication interface, code generator, and identification module) can also be installed in the form of software on the computing device participating in the communication. In addition, although Figure 2The code generator and identification module are shown as being independent of the communication interface, but it should be understood that some or all of the functions of the code generator and identification module may also be integrated into the communication interface. The registration code generated for each computing device may be stored in the communication management device and managed by the communication management device, or may be stored locally on the computing device, or may be stored in a cloud storage or other form on a server different from the communication management device or computing device.
[0061] Figure 3 An example flow chart of a communication method between computing devices according to an embodiment of the present application is shown.
[0062] like Figure 3 As shown, at step S1, the device identification information of the computing device participating in the communication is obtained. This step can be performed, for example, through the communication interface as described above. For example, during actual computing, when the computing device is connected to the computing system, the device identification information of the computing device participating in the communication (including the identification code, model and manufacturer information of the computing device, etc.) is automatically obtained through the communication interface.
[0063] Next, go to step S2.
[0064] At step S2, the registration code of the computing device is matched according to the device identification information. For example, in a scenario where multiple heterogeneous computing devices are used for computing, a registration code can be generated for each computing device before the actual computing, or a registration code can be generated for the computing device when the computing device is connected to the computing system during each computing, or a registration code can be generated or updated for the computing device when the hardware configuration information and communication parameters of the computing device change. The generation of the registration code can be performed, for example, in the following manner: through a graphical user interface and / or a command line tool, the hardware configuration information and communication parameters of the computing device are obtained, and the hardware configuration information includes device identification information; according to the obtained hardware configuration information and communication parameters of the computing device, the registration code of the computing device is automatically generated. For other details of the generation of the registration code, for example, refer to the previous description of the code generator and the registration code. Since the registration code includes the device identification information, it is only necessary to obtain the device identification information of the computing device to match the registration code of the corresponding computing device from the registration codes of all registered computing devices.
[0065] Next, go to step S3.
[0066] At step S3, the hardware configuration information and communication parameters of the computing device are identified according to the registration code of the computing device, and the hardware configuration information includes the type of chip of the computing device and the configuration related to communication. This step can be performed, for example, by the identification module as described above. It can be seen from the above steps S1 and S2 that when multiple heterogeneous computing devices communicate, it is only necessary to obtain the basic device identification information from each computing device, and the hardware configuration information and communication parameters related to communication of the computing device can be automatically identified through its registration code.
[0067] Next, go to step S4.
[0068] At step S4, a data transmission mode suitable for communication is selected from the registered data transmission modes according to the hardware configuration information and communication parameters of the computing device. The data transmission mode can be an optimized communication mode selected from the registered multiple transmission modes taking into account the hardware configuration and communication parameters of each computing device.
[0069] This data transmission mode selection mechanism in the communication method of the present application ensures that seamless connection can be achieved even when communicating between heterogeneous computing devices, which means that the communication between heterogeneous computing devices can automatically adapt to their respective performance characteristics without human intervention, thereby greatly improving the efficiency of communication, achieving communication acceleration, and solving the problem of low scalability caused by low chip type coverage of traditional heterogeneous communication libraries.
[0070] In some embodiments, hardware configuration information and communication parameters of a computing device are obtained through a graphical user interface and / or a command line tool, and the hardware configuration information includes device identification information; a registration code of the computing device is automatically generated based on the obtained hardware configuration information and communication parameters of the computing device. The device identification information includes the identification code, model, and manufacturer information of the computing device; the configuration related to communication includes the type of communication interface of the computing device, supported communication protocols, processor speed, memory size, video memory size, and maximum data transfer rate; and the communication parameters include the starting address, direction, delay, and bandwidth requirements of data transmission, as well as the amount of data to be transmitted.
[0071] Therefore, by providing a graphical user interface and / or command line tools, users can input hardware configuration information and communication parameters through simple operations, automatically generate registration code, and verify the functionality and performance of the code in a test environment; the automatic registration code generation mechanism is regularly updated to support new computing devices and communication protocols to ensure compatibility with the latest communication interfaces.
[0072] In some embodiments, the registration code includes settings related to memory management, and the memory management includes locking and unlocking the memory. In this case, the communication method further includes: during the communication process, performing memory management according to the settings related to memory management in the registration code.
[0073] The memory locking function ensures stability and performance during data transfer, and can also prevent the operating system from paging or swapping memory during data transfer, thereby improving the efficiency of data transfer.
[0074] In some embodiments, when the computing device uses a graphics processing unit during communication, the registration code includes settings related to video memory management, and the video memory management includes locking and unlocking the video memory. In this case, the communication method further includes: during the communication process, performing video memory management according to the settings related to video memory management in the registration code to support efficient graphics data processing and transmission.
[0075] In some embodiments, the registration code includes settings related to data transmission error detection and processing. In this case, the communication method further includes: during the communication process, error detection and processing is performed according to the settings related to data transmission error detection and processing in the registration code.
[0076] In some embodiments, during the communication process, the data transmission method can be optimized according to the performance of the selected data transmission method. For example, the communication interface can monitor in real time the resource usage of each computing device, the data transmission speed, etc. when the selected data transmission method is used for communication, and determine whether there is a more optimized data transmission method based on these performances.
[0077] In some embodiments, during the communication process, the selected data transmission mode and various performances of the data transmission mode can be displayed through a graphical user interface, so that the user can easily grasp the communication status in real time. In addition, the user's adjustment and feedback on the data transmission mode can also be received through the graphical user interface. When the user adjusts the data transmission mode, communication can be carried out according to the adjusted data transmission mode.
[0078] This application provides a user interface that allows users to view the selection results of the automatic identification function and the performance of the transmission method, and to manually adjust or provide feedback as needed to help the system learn and adapt better.
[0079] This application not only improves the communication efficiency between heterogeneous computing devices through automatic identification function, but also provides users with a more intuitive and controllable communication experience. This intelligent communication management provides strong support for data transmission in complex hardware environments.
[0080] This application introduces an automatic registration code generation mechanism and automatic identification function to automatically identify and analyze the configuration of the computing device, and select the most suitable one from the multiple registered data transmission methods, which greatly improves the communication efficiency and ease of use between the chips of the computing device; the user only needs to provide the hardware configuration information and communication parameters of the computing device to automatically generate a complete registration code, without the need to manually write complex code, which speeds up the expansion of hardware support. At the same time, this application takes into account data transmission rate, latency, bandwidth requirements and hardware compatibility to ensure the efficiency and stability of data transmission; this application has the ability to learn and adapt, and continuously optimizes the selection of data transmission methods according to the performance during the communication process, and automatically adjusts and optimizes to adapt to changing hardware environments and communication needs.
[0081] This application simplifies the access process of computing devices through automated and intelligent means, improves the efficiency and stability of communication between different computing devices, and provides users with a more intuitive and controllable communication experience.
[0082] In some embodiments, the communication method for communication between computing devices with different hardware configurations may be combined with features of the communication management apparatus of the present application, and vice versa, which will not be elaborated herein.
[0083] In an embodiment of the present application, a device for communication between computing devices is provided, the computing devices have different hardware configurations, the hardware configurations include different types of chips, and the device includes: a processor; and a memory including computer program code stored thereon; wherein, when the computer program code is executed by the processor, the processor implements a communication method according to an embodiment of the present application.
[0084] In an embodiment of the present application, a computing system is provided, including: a computing device having different hardware configurations, the hardware configurations including different types of chips; and an apparatus for communication between computing devices, the apparatus including: a processor; and a memory including a computer program code stored thereon, wherein, when the computer program code is executed by the processor, the processor implements a communication method according to an embodiment of the present application.
[0085] Figure 4 A schematic diagram of a method that can implement an embodiment of the present application or an apparatus 1000 for communication between computing devices that implements an embodiment of the present application is shown. In some embodiments, more or fewer apparatuses than shown may be included. In some embodiments, a single or multiple apparatuses may be used for implementation. In some embodiments, a cloud or distributed apparatus may be used for implementation.
[0086] like Figure 4As shown, the apparatus 1000 for communication between computing devices includes a processor 1001, which can perform various appropriate operations and processes according to the program and / or data stored in the read-only memory (ROM) 1002 or the program and / or data loaded from the storage part 1008 to the random access memory (RAM) 1003. Processor 1001 can be a multi-core processor or can include multiple processors. In some embodiments, processor 1001 can include a general main processor and one or more special coprocessors, such as a central processing unit (CPU), a graphics processing unit (GPU), a neural network processor (NPU), a digital signal processor (DSP), etc. In RAM 1003, various programs and data required for the operation of the apparatus 1000 for communication between computing devices are also stored. Processor 1001, ROM 1002 and RAM 1003 are connected to each other via bus 1004. Input / output (I / O) interface 1005 is also connected to bus 1004.
[0087] The processor and the memory are used together to execute the program stored in the memory. When the program is executed by the computer, the methods, steps or functions described in the above embodiments can be implemented.
[0088] The following components are connected to the I / O interface 1005: an input section 1006 including a keyboard, a mouse, a touch screen, etc.; an output section 1007 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1008 including a hard disk, etc.; and a communication section 1009 including a network interface card such as a LAN card, a modem, etc. The communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to the I / O interface 1005 as needed. A removable medium 1011, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1010 as needed, so that a computer program read therefrom is installed into the storage section 1008 as needed. Figure 4 Only some components are schematically shown in the figure, which does not mean that the apparatus 1000 for communication between computing devices only includes Figure 4 Components shown.
[0089] The systems, devices, modules or units described in the above embodiments may be implemented by a computer or its associated components. The computer may be, for example, a mobile terminal, a smart phone, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a personal digital assistant, a media player, a navigation device, a game console, a tablet computer, a wearable device, a smart TV, an Internet of Things system, a smart home, an industrial computer, a server or a combination thereof.
[0090] Although not shown, in an embodiment of the present application, a non-transitory computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the processor implements the communication method according to any one of the embodiments of the present application.
[0091] The storage media in the embodiments of the present application include permanent and non-permanent, removable and non-removable items that can be used to store information by any method or technology. Examples of storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
[0092] Although not shown, an embodiment of the present application further provides a computer program product, including: computer instructions, which, when executed by a processor, enable the processor to implement the communication method according to any one of the embodiments of the present application.
[0093] The methods, programs, systems, devices, etc. of the embodiments of the present application may be executed or implemented in a single or multiple networked computers, or may be practiced in a distributed computing environment. In the embodiments of the present specification, in these distributed computing environments, tasks may be performed by remote processing devices connected via a communication network.
[0094] Those skilled in the art should understand that the embodiments of the present specification may be provided as methods, systems or computer program products. Therefore, those skilled in the art may imagine that the functional modules / units or controllers and related method steps described in the above embodiments may be implemented in software, hardware or a combination of software / hardware.
[0095] Unless explicitly stated, the actions or steps of the methods, programs, and embodiments of the present application do not have to be performed in a specific order and can still achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0096] In this article, multiple embodiments of the present application are described, but for the sake of simplicity, the description of each embodiment is not exhaustive, and the same or similar features or parts between the various embodiments may be omitted. In this article, "one embodiment", "some embodiments", "example", "specific example", or "some examples" are intended to be applicable to at least one embodiment or example according to the present application, rather than all embodiments. The above terms do not necessarily mean to refer to the same embodiment or example. In the absence of mutual contradiction, those skilled in the art can combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples.
[0097] The exemplary systems and methods of the present application have been specifically shown and described with reference to the above embodiments, which are merely examples of the best modes for implementing the present systems and methods. It will be appreciated by those skilled in the art that various changes may be made to the embodiments of the systems and methods described herein when implementing the present systems and / or methods without departing from the spirit and scope of the present application as defined in the appended claims.
Claims
1. A communication method between computing devices, wherein the computing devices have different hardware configurations, the hardware configurations including different types of chips, the communication method comprising: Obtaining device identification information of computing devices participating in the communication; matching a registration code of the computing device according to the device identification information; Identify hardware configuration information and communication parameters of the computing device according to the registration code of the computing device, wherein the hardware configuration information includes a type of a chip of the computing device and a configuration related to communication; A data transmission mode suitable for the communication is selected from registered data transmission modes according to the hardware configuration information and communication parameters of the computing device.
2. The communication method according to claim 1, wherein: The communication method further comprises: Obtaining hardware configuration information and communication parameters of the computing device through a graphical user interface and / or a command line tool, wherein the hardware configuration information includes the device identification information; A registration code for the computing device is automatically generated according to the acquired hardware configuration information and communication parameters of the computing device.
3. The communication method according to claim 1 or 2, wherein: The device identification information includes the identification code, model and manufacturer information of the computing device, The communication-related configuration includes the type of communication interface of the computing device, supported communication protocols, processor speed, memory size, video memory size, and maximum data transfer rate, The communication parameters include the starting address, direction, delay and bandwidth requirements of the data transmission and the amount of data to be transmitted.
4. The communication method according to claim 1 or 2, wherein: The registration code includes settings related to memory management, including locking and unlocking of memory, and The communication method further includes: during the communication process, performing memory management according to settings related to memory management in the registration code.
5. The communication method according to claim 1 or 2, wherein: In the case where the computing device uses a graphics processing unit during the communication, the registration code includes settings related to video memory management, the video memory management including locking and unlocking of video memory, and The communication method further includes: during the communication process, performing video memory management according to the settings related to video memory management in the registration code.
6. The communication method according to claim 1 or 2, wherein: The registration code includes settings related to data transmission error detection and handling, and The communication method further includes: during the communication, performing error detection and processing according to settings related to data transmission error detection and processing in the registration code.
7. An apparatus for communication between computing devices, the computing devices having different hardware configurations, the hardware configurations including different types of chips, the apparatus comprising: processor; as well as a memory including computer program code stored thereon, When the computer program code is executed by the processor, the processor is caused to implement the communication method according to any one of claims 1 to 6.
8. A computing system comprising: Computing devices having different hardware configurations, the hardware configurations including different types of chips; as well as Means for communication between the computing devices, the means comprising: Processor; and a memory including computer program code stored thereon, When the computer program code is executed by the processor, the processor is caused to implement the communication method according to any one of claims 1 to 6.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, causes the processor to implement the communication method according to any one of claims 1 to 6.
10. A computer program product, comprising computer instructions, which, when executed by a processor, cause the processor to implement the communication method according to any one of claims 1 to 6.
