From 6b7205e02623a9b8bd0124f0856b7a6c0d7f701c Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 8 May 2025 12:34:08 +0200 Subject: [PATCH] implementation: Finished chapter. checking for errors and textual improvements not finished --- package/src/Transpiler.jl | 9 +- package/src/Utils.jl | 2 +- package/test/TranspilerTests.jl | 11 +++ package/test/runtests.jl | 4 +- thesis/chapters/implementation.tex | 134 ++++++++++++++++++----------- thesis/hgblistings.sty | 6 +- thesis/main.pdf | Bin 912171 -> 919808 bytes 7 files changed, 104 insertions(+), 62 deletions(-) diff --git a/package/src/Transpiler.jl b/package/src/Transpiler.jl index 6197f2a..1107591 100644 --- a/package/src/Transpiler.jl +++ b/package/src/Transpiler.jl @@ -56,6 +56,8 @@ function evaluate(expressions::Vector{Expr}, variables::Matrix{Float32}, paramet formattedExpr = ExpressionProcessing.expr_to_postfix(expressions[i], cacheFrontend) kernel = transpile(formattedExpr, varRows, Utils.get_max_inner_length(parameters), variableCols, i-1) # i-1 because julia is 1-based but PTX needs 0-based indexing + # println(kernel) + linker = CuLink() add_data!(linker, "ExpressionProcessing", kernel) @@ -93,7 +95,7 @@ end " function transpile(expression::ExpressionProcessing.PostfixType, varSetSize::Integer, paramSetSize::Integer, nrOfVariableSets::Integer, expressionIndex::Integer)::String - exitJumpLocationMarker = "\$L__BB0_2" + exitJumpLocationMarker = "L__BB0_2" ptxBuffer = IOBuffer() regManager = Utils.RegisterManager(Dict(), Dict()) @@ -237,9 +239,6 @@ function generate_calculation_code(expression::ExpressionProcessing.PostfixType, end tempReg = Utils.get_next_free_register(regManager, "rd") - # reg = pop!(operands) - # tmp = "abs.f32 $(reg), 16.0;" - # push!(operands, reg) println(codeBuffer, " add.u64 $tempReg, $((expressionIndex)*nrOfVarSets), $threadId64Reg; mad.lo.u64 $tempReg, $tempReg, $BYTES, $resultsLocation; @@ -286,7 +285,7 @@ function get_operation(operator::Operator, regManager::Utils.RegisterManager, le resultCode = "" if is_binary_operator(operator) && isnothing(right) - throw(ArgumentError("Given operator '$operator' is a binary operator. However only one operator has been given.")) + throw(ArgumentError("Given operator '$operator' is a binary operator. However only one operand has been given.")) end if operator == ADD diff --git a/package/src/Utils.jl b/package/src/Utils.jl index 2704b70..c7aa8ec 100644 --- a/package/src/Utils.jl +++ b/package/src/Utils.jl @@ -79,7 +79,7 @@ function get_register_for_name(manager::RegisterManager, varName::String) if haskey(manager.symtable, varName) return (manager.symtable[varName], false) else - reg = get_next_free_register(manager, "var") + reg = get_next_free_register(manager, "f") manager.symtable[varName] = reg return (reg, true) end diff --git a/package/test/TranspilerTests.jl b/package/test/TranspilerTests.jl index 4b591f9..ae3504e 100644 --- a/package/test/TranspilerTests.jl +++ b/package/test/TranspilerTests.jl @@ -41,6 +41,17 @@ parameters[2][1] = 5.0 parameters[2][2] = 0.0 parameters[3][1] = 16.0 +@testset "TEMP" begin + return + exprs = [:(x1 + p1)] + vars = Matrix{Float32}(undef, 1, 1) + params = Vector{Vector{Float32}}(undef, 1) + + vars[1, 1] = 1 + params[1] = [1] + Transpiler.evaluate(exprs, vars, params) +end + @testset "Test transpiler evaluation" begin results = Transpiler.evaluate(expressions, variables, parameters) diff --git a/package/test/runtests.jl b/package/test/runtests.jl index c5a1dbf..468e456 100644 --- a/package/test/runtests.jl +++ b/package/test/runtests.jl @@ -12,7 +12,7 @@ include(joinpath(baseFolder, "src", "Transpiler.jl")) @testset "Functionality tests" begin # include("ExpressionProcessingTests.jl") # include("InterpreterTests.jl") - # include("TranspilerTests.jl") + include("TranspilerTests.jl") end @@ -22,5 +22,5 @@ end @testset "Performance tests" begin # include("PerformanceTuning.jl") - include("PerformanceTests.jl") + # include("PerformanceTests.jl") end \ No newline at end of file diff --git a/thesis/chapters/implementation.tex b/thesis/chapters/implementation.tex index bcc4633..903b715 100644 --- a/thesis/chapters/implementation.tex +++ b/thesis/chapters/implementation.tex @@ -178,7 +178,7 @@ Moreover, the global thread ID ensures that excess threads do not perform any wo Afterwards the stack for the interpretation can be created. It is possible to dynamically allocate memory on the GPU, which enables a similar programming model as on the CPU. \textcite{winter_are_2021} have even compared many dynamic memory managers and found, that the performance impact of them is rather small. However, if it is easily possible to use static allocations, it still offers better performance. In the case of this thesis, it is easily possible which is the reason why the stack has been chosen to have a static size. Because it is known that expressions do not exceed 50 tokens, including the operators, the stack size has been set to 25, which should be more than enough to hold the values and partial results, even in the worst case. -\subsubsection{Main Loop} % MAYBE +\subsubsection{Main Loop} Once everything is initialised, the main interpreter loop starts interpreting the expression. Because of the intermediate representation, the loop simply iterates through the expression from left to right. On each iteration the type of the current token is checked, to decide which operation to perform. If the current token type matches the \textit{stop} opcode, the interpreter knows that it is finished. This simplicity is the reason why this opcode was introduced, as explained above. @@ -197,7 +197,6 @@ Support for ternary operators could also be easily added. An example of a ternar Once the interpreter loop has finished, the result of the evaluation must be stored in the result matrix. By using the index of the current expression, as well as the index of the current variable set (the global thread ID) it is possible to calculate the index where the result must be stored. The last value on the stack is the result, which is stored in the result matrix at the calculated location. \section{Transpiler} -% Talk about how the transpiler has been developed (probably largest section, because it just has more interesting parts); CPU-side part will be much larger than GPU side Unlike the interpreter, the transpiler primarily operates on the CPU, with only a minor GPU-based component. This is because the transpiler must generate entire PTX kernels from Julia expressions, rather than simply executing a pre-written kernel like the interpreter. Similar to the interpreter, the CPU side of the transpiler manages communication with both the GPU and the symbolic regression algorithm. This section provides a detailed overview of the transpiler's functionality. An overview of how the transpiler interacts with the frontend and GPU is outlined in Figure \ref{fig:transpiler-sequence}. The parts of this figure are explained in detail in the following sections. @@ -210,7 +209,6 @@ An overview of how the transpiler interacts with the frontend and GPU is outline \end{figure} \subsection{CPU Side} -% TODO: Finish on Saturday After the transpiler has received the expressions to be transpiled, it first sends them to the frontend for processing. Once they have been processed, the expressions are sent to the transpiler backend which is explained in more detail Section \ref{sec:transpiler-backend}. The backend is responsible for generating the kernels. The output of the backend are the kernels written as PTX code for all expressions. \subsubsection{Data Transfer} @@ -219,8 +217,6 @@ Data is sent to the GPU in the same way as it is sent by the interpreter. The va Because each expression has its own kernel, there is no need to transfer the expressions themselves. Moreover, there is also no need to send information about the layout of the variables and parameters to the GPU. The reason for this is explained in the transpiler backend section below. \subsubsection{Kernel Dispatch} -% similar to interpreter dispatch with tuning etc. -% mention that CUDA.jl is used to instruct the driver to compile the kernel for the specific hardware Once all the data is present on the GPU, the transpiled kernels can be dispatched. Dispatching the transpiled kernels is more involved than dispatching the interpreter kernel. Program \ref{code:julia_dispatch-comparison} shows the difference between dispatching the interpreter kernel and the transpiled kernels. An important note, is that the transpiled kernels must be manually compiled into machine code. To achieve this, CUDA.jl provides functionality to instruct the drivers to compile the PTX code. The same process of creating PTX code and compiling it must also be done for the interpreter kernel, however, this is done by CUDA.jl automatically when calling the @cuda macro in line 6. \begin{program} @@ -256,40 +252,37 @@ end \end{JuliaCode} After all kernels have been dispatched, the CPU waits for the kernels to complete their execution. When the kernels have finished, the result matrix is read from global memory into system memory. The results can then be returned to the symbolic regression algorithm. -% -% TODO: DeepL pass -% \subsection{Transpiler Backend} \label{sec:transpiler-backend} -The transpiler backend is responsible for creating a kernel from an expression in its intermediate representation. Transpiling an expression is split into several parts, these parts are as follows: +The transpiler backend is responsible for creating a kernel from an expression in its intermediate representation. Transpiling an expression is divided into several parts, these parts are as follows: \begin{itemize} \item Register management \item Generating the header and kernel entry point \item Ensuring that only the requested amount of threads is performing work - \item Generating the Code for evaluating the expression + \item Generating the Code for evaluating the expression and storing the result \end{itemize} -PTX assumes a register machine, which means that a developer has to work with a limited number of registers. This also means that the transpiler must define a strategy for managing these registers. The second and third parts are rather simple and can be considered overhead. Finally, the last part is the main part of the generated kernel. It contains the code to load variables and parameters, evaluate the expression and store the result in the result matrix. All parts will be explained in the following sections. +PTX assumes a register machine, which means that a developer has to work with a limited number of registers. This also means that the transpiler has to define a strategy for managing these registers. The second and third parts are rather simple and can be considered as overhead code. Finally, the last part is the main part of the generated kernel. It contains the code to load variables and parameters, evaluate the expression and store the result in the result matrix. All parts are explained in the following sections. \subsubsection{Register Management} -Register management is a crucial part of the transpiler as it is important to balance register usage with occupancy and performance. \textcite{aho_compilers_2006, cooper_engineering_2022} describe techniques for efficient register management, especially for machines with few registers and register usage by convention on the CPU. However, on the GPU, there are much more registers available, which can all be used as needed. +Register management is a crucial part of the transpiler as it is important to balance register usage with occupancy and performance. \textcite{aho_compilers_2006, cooper_engineering_2022} describe techniques for efficient register management, especially for machines with few registers and register usage by convention on the CPU. On the GPU however, there are many more registers available, all of which can be used as needed without restrictions. -To allow for maximum occupancy and avoid spilling registers into local memory, the transpiler tries to re-use as many registers as possible. Furthermore, in PTX, allocating and using a register is very similar to using variables in code, as they do not represent physical registers. Therefore, much of the complexity of managing registers is managed by the PTX compiler. +To allow for maximum occupancy and avoid spilling registers into local memory, the transpiler tries to reuse as many registers as possible. Furthermore, allocating and using a register in PTX is very similar to using variables in code, as they represent virtual registers. Therefore, much of the complexity of managing registers is handled by the PTX compiler of the driver. -Because much of the complexity of managing registers is hidden by the compiler, or does not apply in this scenario, it is implemented very simple. If at any point in the transpilation process, a register is required, it can be requested by the register manager. A register must be given a name and the manager uses this name to determine the type of this register. For example if the name of the register is \verb|f|, it will be assumed that it is a FP32 register. Several naming conventions exist to ensure that the register will have the correct datatype. The manager then returns the identifying name of the register, which is used for accessing it. The identifying name, is the name given as an input and a zero-based number that is incremented by one for each consecutive call. +Because much of the complexity of managing registers is hidden by the compiler, or does not apply in this scenario, it is implemented very simple. If a register is needed at any point in the transpilation process, it can be requested by the register manager. A register must be given a name and the manager uses this name to determine the type of this register. For example, if the name of the register is \verb|f|, it is assumed to be an FP32 register. Several naming conventions exist to ensure that the register is of the correct data type. The manager then returns the identifying name of the register, which is used to access it. The identifying name, is the name given as an input and a zero-based number that is incremented by one for each successive call. -PTX requires the registers to be defined before they are used. Therefore, after the transpiler has finished generating the code, the registers must be defined at the top of the kernel. As the manager has kept track of the registers used, it can generate the code to allocate and define the registers. If the kernel only used five FP32 registers, the manager would generate the code \verb|.reg .f32 %f<5>;|. This allocates and defines the registers \verb|%f0| through \verb|%f4|. +PTX requires that the registers are defined before they are used. Therefore, after the transpiler has finished generating the code, the registers must be defined at the top of the kernel. As the manager has kept track of the registers used, it can generate the code to allocate and define the registers. If the kernel only uses five FP32 registers, the manager would generate the code \verb|.reg .f32 %f<5>;|. This will allocate and define the registers \verb|%f0| through \verb|%f4|. \subsubsection{Header and Entry Point} -Each PTX program must begin with certain instructions to correctly compile and use this program. The first directive must be the \verb|.version| directive. It indicates for which PTX version the code has been written, to ensure that it is compiled with the correct tools in the correct version. Following the \verb|.version| directive, is the \verb|.target| directive, which specifies the target hardware architecture. +Each PTX program must begin with certain directives in order to compile and use that program correctly. The first directive must be the \verb|.version| directive. It indicates which PTX version the code was written for, to ensure that it is compiled with the correct tools in the correct version. Following the \verb|.version| directive is the \verb|.target| directive, which specifies the target hardware architecture. -Once these directives are added to the generated code, the entry point to the kernel can be generated. It contains the name of the kernel, as well as all parameters that are passed to it, like the pointer to the variable, parameter and result matrix. The kernel name is important, as it is required by the CPU to dispatch it. +Once these directives have been added to the generated code, the entry point to the kernel can be generated. It contains the name of the kernel, as well as all parameters that are passed to it, such as the pointers to the variable, parameter and result matrix. The kernel name is important as it is required by the CPU to dispatch it. -While generating the entry point, the PTX code for loading the parameters into the kernel is also generated. This removes the need to iterate over the kernel parameters a second time. Loading the parameters into the kernel is required, as it is not possible to address these values directly. \textcite{nvidia_parallel_2025} states that addresses in the parameter state space, can only be accessed via the \verb|ld.param| instruction. Furthermore, since all three matrices are stored in global memory, the parameter address needs to be converted from parameter state space to global state space using the \verb|cvta.to.global.datatype| instruction. +When the entry point is generated, the PTX code for loading the parameters into the kernel is also generated. This removes the need to iterate over the kernel parameters a second time. Loading the parameters into the kernel is necessary because it is not possible to address these values directly. \textcite{nvidia_parallel_2025} states that addresses in the parameter state space can only be accessed using the \verb|ld.param| instruction. Furthermore, since all three matrices are stored in global memory, the parameter address must be converted from parameter state space to global state space using the \verb|cvta.to.global.datatype| instruction. \subsubsection{Guard Clause} -As previously explained in Section \ref{sec:interpreter-gpu-side}, the guard clause ensures that all excessive threads do not take part in the evaluation. The following code shows how this guard clause looks if the kernel is written with Julia and CUDA.jl: +As explained in Section \ref{sec:interpreter-gpu-side}, the guard clause ensures that any excess threads do not participate in the evaluation. The following code shows what this guard clause looks like when the kernel is written with Julia and CUDA.jl: \begin{JuliaCode} function my_kernel(nrOfVarSets::Int32) threadId = (blockIdx().x - 1) * blockDim().x + threadIdx().x @@ -317,54 +310,91 @@ End: ret; \end{PTXCode} -It needs to be noted, that the register \verb|r2| is not needed. Because the transpiler already knows the number of variable sets, it would be wasteful to transmit it to the kernel. Therefore, instead the transpiler inserts the number directly to save resources. +It needs to be noted, that the register \verb|%r2| is not needed. Since the transpiler already knows the number of variable sets, it would be wasteful to transmit this information to the kernel. Instead, the transpiler inserts the number directly as a constant to save resources. -\subsubsection{Evaluation} -The equivalent of the interpreter's main loop, is the loop for generating the code for evaluating the expression. Because the transpiler uses the same intermediate representation as the interpreter, the loop also works very similar. It also uses a stack for storing the values and the intermediate results. Unlike the interpreter, the special opcode \textit{stop} is not needed any more. As only a single expression needs to be transpiled, it is stored in an unpadded vector and therefore all tokens inside the vector are valid. This opcode has only been introduced for the interpreter, as the expressions might get padded to fully fit in the matrix. +\subsubsection{Main Loop} +The main loop of the transpiler, which generates the kernel for evaluating a single expression, is analogous to the interpreter's main loop. Since the transpiler uses the same intermediate representation as the interpreter, both loops behave similarly. The transpiler loop also uses a stack to store the values and intermediate results. However, the transpiler does not require the special opcode \textit{stop} which was necessary in the interpreter to handle expressions padded to fit into a matrix. The transpiler only needs to process a single expression, which is stored in an unpadded vector of known length. This means that all tokens within the vector are valid and therefore do not require this opcode. -% MAYBE : activity diagram for this loop (also add to interpreter main loop section) +% MAYBE : activity diagram for this loop (also add to interpreter main loop section (would maybe fit better in concept and design so basically move the algorithms of C&D here and add activity diagram to C&D )) -When the loop encounters a token that represents an index to either the variable or the parameter matrix, the transpiler needs to generate code for loading these values. In the general case, this works exactly the same as with the interpreter. +When the loop encounters a token that represents an index to either the variable or the parameter matrix, the transpiler needs to generate code to load these values. In the general case, this works in exactly the same way as the interpreter, calculating the index and accessing the matrices at that location. -However, on the first time a variable or parameter is accessed, it needs to be loaded from global memory. While a register already exists that holds a pointer to the address of the matrices in global memory, the data is still not accessible. To make it accessible, first the index to the value must be calculated the same way it is calculated in the interpreter. Afterwards the value must be loaded into a register with the instruction \verb|ld.global.f32 %reg1, %reg2|. Using the first register of the instruction, the data can be accessed. If for example the variable $x_1$ is accessed multiple times, all subsequent calls only need to reference this register and do not need to load the data from global memory again. +However, the first time a variable or parameter is accessed, it must be loaded from global memory. Although registers already exist that hold a pointer to the address of the matrices in global memory, the data is still not accessible. To make it accessible, the index to the value must first be calculated in the same way as it is calculated in the interpreter. Afterwards the value must be loaded into a register with the instruction \verb|ld.global.f32 %reg1, [%reg2]|. Using the first register of the instruction, the data can be accessed. For example, if the variable $x_1$ is accessed several times, all subsequent calls only need to reference this register and do not need to load the data from global memory again. -% token -> operator -> same as interpreter but instead of result, add register that holds result to stack +% +% TODO: Deepl pass +% +In the case where the current token represents an operation, the code for this operation needs to be generated. Many operators have an equivalent on the GPU. For example addition has the \verb|add.f32 %reg1, %reg2, %reg3;| instruction. The instructions for division and square root have an equivalent instruction but only support approximate calculation. While the approximation can be controlled with different options, the fastest option \verb|.approx| has been chosen. Although a slightly slower but more accurate option \verb|.full| exists, it is not fully IEEE 754 compliant and has therefore not been used. -% after loop storing result is also interesting +However, not all supported operators have a single instruction GPU equivalent. For example the operation $x^y$ has no equivalent and therefore needs to be generated differently. When compiling a kernel with this operation using the Nvidia compiler and the compiler flag \textit{-\,-use\_fast\_math} the following code will be generated: +\begin{PTXCode}[numbers=none] +lg2.approx.f32 %reg1, %reg2; +mul.f32 %reg4, %reg3, %reg1; +ex2.approx.f32 %reg5, %reg4; +\end{PTXCode} +While this compiler flag trades accuracy for performance, the more accurate version of this operation contains about 100 instructions instead of the above three. Because of this, the more performant version has been chosen to be generated by the transpiler. Similarly, the operations $\log(x)$ and $e^x$ also have no equivalent instruction and are therefore generated following the same principle. + +The final register of the generated code, stores the result of the operation once executed. As with the interpreter, this result is either the final value, or an input to another operation. Therefore, this register must be stored in the stack for later use. + +Once the main loop has finished, the last element on the stack, holds the register with the result of the evaluation. The value of this register must be stored in the result matrix. As the result matrix is stored in global memory, the code for storing the data is similar to the code responsible for loading the data from global memory. First the location where to store the result must be calculated. Storing the result at this location, is performed with the instruction \verb|st.global.f32 [%reg1], %reg2;|. \subsection{GPU Side} % I am not really happy with this. The length of the paragraph is fine, but the content not so much % Maybe show a kernel for the expression "x1+p1" or so to show the complexity or something? -On the GPU, the transpiled kernels are simply executed. Because the kernels themselves are very simple, as they contain almost no branching and other overhead work, the GPU does not need to perform a lot of operations. As can be seen in Program TODO, the kernel for the expression $x_1 + p_1$ is very straightforward, with only two load operations, the addition and then the storing of the result in the result matrix. In fact, the kernel is a one-to-one mapping of the expression, with the overhead of ensuring only the one thread is executing and loading the variable and parameter. +On the GPU, the transpiled kernels are simply executed. Because the kernels themselves are very simple, as they contain almost no branching and other overhead work, the GPU does not need to perform a lot of operations. As can be seen in Program \ref{code:ptx_kernel}, the kernel for the expression $x_1 + p_1$ is very straightforward, with only two load operations, the addition and then the storing of the result in the result matrix. In fact, the kernel is a one-to-one mapping of the expression, with the overhead of ensuring only the one thread is executing and loading the variable and parameter. \begin{program} - \begin{GenericCode} - TODO - TODO - TODO - TODO - .func loop(.param .u32 N) + \begin{PTXCode} +.visible .entry Evaluator( + .param .u64 param_1, .param .u64 param_2, .param .u64 param_3) { - .reg .u32 %n; - .reg .pred %p; + // Make parameters stored in global memory accessible + ld.param.u64 %rd0, [param_1]; + cvta.to.global.u64 %parameter0, %rd0; + ld.param.u64 %rd1, [param_2]; + cvta.to.global.u64 %parameter1, %rd1; + ld.param.u64 %rd2, [param_3]; + cvta.to.global.u64 %parameter2, %rd2; - ld.param.u32 %n, [N]; - Loop: - setp.eq.u32 %p, %n, 0; - @%p bra Done; - sub.u32 %n, %n, 1; - bra Loop; - Done: - } - \end{GenericCode} - \caption{The PTX kernel for the expression $x_1 + p_1$} - \label{code:ptx_loop} + mov.u32 %r0, %ntid.x; + mov.u32 %r1, %ctaid.x; + mov.u32 %r2, %tid.x; + mad.lo.s32 %r3, %r0, %r1, %r2; + setp.gt.s32 %p0, %r3, 1; + @%p0 bra L__BB0_2; // Jump to end of kernel if too many threads are started + cvt.u64.u32 %rd3, %r3; + mov.u64 %rd4, 0; + + // Load variable and parameter from global memory and add them together + mad.lo.u64 %rd5, %rd3, 4, 0; + add.u64 %rd5, %parameter0, %rd5; + ld.global.f32 %var0, [%rd5]; + mad.lo.u64 %rd6, %rd4, 4, 0; + add.u64 %rd6, %parameter1, %rd6; + ld.global.f32 %var1, [%rd6]; + add.f32 %f0, %var0, %var1; + + // Store the result in the result matrix + add.u64 %rd7, 0, %rd3; + mad.lo.u64 %rd7, %rd7, 4, %parameter2; + st.global.f32 [%rd7], %f0; + + L__BB0_2: ret; + }\end{PTXCode} + \caption{The slightly simplified PTX kernel for the expression $x_1 + p_1$. For simplicity, the allocation of registers and the required directives \texttt{.version} and \texttt{.target} have been removed.} + \label{code:ptx_kernel} \end{program} -% TODO: Probably explain the code a bit too? -% Front-End and Back-End -% Caching of back-end results +%\verb|.version| and \verb|.target| -% PTX code generated and compiled using CUDA.jl (so basically using the driver) and then executed +Note that Program \ref{code:ptx_kernel} has been slightly simplified to not include the allocation of the registers. From line five to line ten, the addresses stored in the parameters, are converted from parameter state space into global state space, so that they reference the correct portion of the GPUs memory. It needs to be noted, that this kernel uses 64-bit addresses, which is the reason why throughout the kernel, there are some 64-bit instructions used. Evaluating the expression itself is however entirely performed using the faster 32-bit instructions. -% Memory access (global memory and register management especially register management) +Lines 12 through 17 are responsible to calculate the global thread-ID and ensure that excessive threads are terminated early. Note that in line 16, if the global thread-ID stored in register \verb|%r3| is greater than one, it must terminate early. This is because in this example, only one variable set needs to be evaluated. + +The PTX code from line 22 to line 28 is the actual evaluation of the expression, with line 28 performing the calculation $x_1 + p_1$. All other lines, are responsible for loading the values from global memory. The instructions at the lines 22, 23 and 25, 26 are responsible for calculating the offset in bytes to the memory location where the value is stored with respect to the location of the first element. + +The constants $4$ and $0$ are introduced due to performance reasons. The number $4$ is the size in bytes of one variable set. As one variable set only stores a single FP32 value in this case, each variable set has a size of four bytes. Similarly, the number $0$ represents the index of the value inside the variable set. More precise, this is the offset in bytes from index to the variable set, which is zero for the first element and four for the second etc. These two constants are calculated during the transpilation process, to minimise the amount of data that needs to be transferred to the GPU. + +Storing the result in the result matrix is performed from line 31 to 33. The location at which to store the value is calculated in the lines 31 and 32. Line 31 calculates the index inside the result matrix, according to the current variable set stored in register \verb|%rd3|. The constant $0$ is the product of the index of the expression that is evaluated and the number of variable sets and represents the column of the result matrix. Converting this index into bytes and adding it as the offset to the first element of the result matrix, results in the correct memory location to store the result at. + +This kernel consists mostly of overhead code, as only lines 22 through 33 contribute to calculating the result of the expression with the designated variable and parameter set. However, for larger expressions, the percentage of overhead code drastically shrinks. \ No newline at end of file diff --git a/thesis/hgblistings.sty b/thesis/hgblistings.sty index 935c977..72e8143 100644 --- a/thesis/hgblistings.sty +++ b/thesis/hgblistings.sty @@ -158,8 +158,10 @@ keepspaces=true,% % Language Definition and Code Environment for Julia \lstdefinelanguage{PTX}{ alsoletter={.}, - morekeywords={mov.u32, mad.lo.s32, setp.ge.s32, bra, - ret, .func, .entry}, + morekeywords={mov.u32, mad.lo.s32, setp.ge.s32, bra, mov.u64, + mad.lo.u64, add.u64, ld.global.f32, add.f32, st.global.f32, + cvta.to.global.u64, ld.param.u64, setp.gt.s32, cvt.u64.u32, + ret, .func, .entry, .visible, .param, .u64}, keywordstyle=\color{blue}, sensitive=true, morestring=[b]", diff --git a/thesis/main.pdf b/thesis/main.pdf index 025b69f69886883d672c9e08e8ae67c060669e5f..5714bc6fe13afb76f32ca3522d985599a34c1f64 100644 GIT binary patch delta 171155 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%0Al8S~K2dgB|-?CHv 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 z zT7Pn;%GaaMjn(snD=h!4G- zX)s#uM$~c*`KpWbbQcixCBtK%N9tmjVt+ZuTYp~OxObj?7oNi*p+1x$v%EE*)pEjd!U#W^oWtuG7zx1MQYOOHHUVlE9 z$E|T;y1ptO@|+KHlaV1LA*$elrHNaR*aIPe##}ZQU6_2MdGAaOyB~+w5Ey+ZK6|m& zJms}$gJgfMEFm_@KAmp0kTxD`URmRL_Tyd3pI9 z#s)kl9T}Uk7nzID#(~I(dGTyJuGOE=3s}mWQNW^I;&?zWYok0h^1WM_U-*uVX^h(Bm=9P7f`4MZFT@Kz z-H2Y*kcWyQz&ctWAoEa+Jf?L-UfgEahj<9TOSggOIaYq#z z{0qt*H#A!7b$WL~M^%7oUcXFo5kGr2WIg?khLgQ(3|XGl`oTd|0&L?5lwv_<0N$75 z%#BfS#*bSYn3tM&S8a~;+JEYR*`c~krw(Ixcz_=yIVh?Gf@GUu=!1=DGj0OEeqUvD zo8Q$2BV#6fEf_0!*)41l$X-l-*gt%⋘cO1B9YpN3My77==C5rpm*f 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%0Dm0JFIY%G@wh#|9u21JfixO_aHQhHQq-e0}!O`Od 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

5t2fj5}n< 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