## 2 Materials and Methods
### Performance Metric on the HPCC and the Workstation  
To evaluate an HPCC, different metrics are used that allow measuring the performance and efficiency with which it solves problems that require high processing power. Some of the metrics are floating point operations per second (FLOPS), processing time or speedup, memory bandwidth, energy efficiency, scalability, and network latency, among others [42]. For this research, only FLOPS were considered.  
The FLOPS measurement is a way of evaluating the processing capability of a computer system in relation to performing floating point operations. For example, a computer that can perform 100 teraflops (100 trillion floating-point operations per second) is capable of processing a large number of mathematical calculations in a relatively short period of time, which can be important for applications that require large amounts of data. It measures the number of intensive computations in terms of processing.  
To calculate the FLOPS of a computer, we first need to know the specification of the processor and the number of cores it has. Once we know this information, we apply the following equation [43]:  
\[\text{FLOPS}=\text{ number of cores }\times\text{Clock Frequency}\times\frac{\text{FLOP}}{\text{Cycle}} \tag{4}\]  
where the number of cores is the number of cores per processor, the clock frequency is the base clock of the processor (usually this value is founded in the specifications of the fabricant), and the FLOP/cycle depends on the processor architecture and can change from one model to another.  
For example, if we have a workstation, as used in this research, with an AMD Ryzen 9 5900X processor that has 12 cores and a base clock frequency of 3.7 GHz, and we assume that the FLOP/cycle is eight [44], then the maximum theoretical FLOPS would be  
\[\text{FLOPS}=12\text{ cores}\times 3.7\text{ GHz}\times 8\text{ FLOP}/\text{Cycle}=355.2\text{ GFLOPS}.\]  
Therefore, this workstation would have a maximum theoretical processing capacity of 355.2 gigaflops. It is important to note that this measurement or performance may vary depending on the type of workload and other system factors, such as an extra GPU card integrated into the workstation. For the Nvidia GPU installed, we can also calculate its FLOPS by conducting the same procedure, knowing that it has a total of 5888 CUDA cores and a base clock speed of 15,000 MHz [45]:  
\[\text{FLOPS}=5888\text{ cores}\times 1.5\text{ GHz}\times 2\text{ FLOP}/\text{Cycle}=17.8\text{ TFLOPS}.\]  
So, by adding the FLOPS values of the processor and the GPU, we would have an approximate total theoretical performance of 18.2 TFLOPS.  
If we wanted to measure the approximate total performance of the configured HPCC, we would have to carry out the same procedure. In each of the HPCC devices, such as the processor and the graphics card of the HPCC, the computing nodes are the same; hence, calculating the FLOPS of a PC would facilitate the calculation since the value obtained would only be multiplied by the total number of nodes. Thus, the value of the total approximate performance of the HPCC would be obtained. Table 3 lists the specification data for the Intel i7 7700K processor and the Nvidia GTX 1050 ti card, in order to calculate the total approximate theoretical performance of the configured HPCC.  
So, for an HPCC PC, we would have 2.25 TFLOPS, and multiplying the value for each of the nodes, we would have a total of 6.75 TFLOPS.  
Moreover, by way of comparison, for the weed classification using distributed DL, we performed the procedures mentioned in Section 2.4; differently, only the workstation with the characteristics shown in Table 2 was used, in which the maximum value used was four in the _horovodrun_ command in the _-np_ parameter, which is the value of the CPU cores for which the workstation did not exceed the installed RAM. In this case, more RAM memory would have been needed to use more CPU cores of the workstation.