Fazekas, GáborAykut, Erkin2014-04-302014-04-302014-05-302014-04-30http://hdl.handle.net/2437/190840High performance computing is not one of the original goals for Microsoft .NET programmers, but it did bring development benefit to developers via providing a complete and robust environment for development. By utilizing HPC.NET, programmers can incorporate GPU architectures into HPC applications in the .NET environment. With the HPC.NET framework, it is not necessary to learn the CUDA architecture or program CUDA C because it supports the various .NET languages by analyzing their Common Intermediate Language (CIL). Detected loops and TPL methods are translated to their corresponding CUDA kernel functions and the corresponding host code is generated automatically. New DLLs and executable files are generated to replace the non-CUDA based .NET executables. The next step is to scale HPC.NET to multiple machines. The scheduling feature is added to support multiple GPU devices employing Windows Cluster, and pragma directives are utilized to retrieve more information about task complexity and compute nodes in order to optimize the overall performance. HPC.NET fills the gaps between .NET platform, Windows Cluster, and GPU coding by transmitting the compute component as well as input and output data. All relevant data and components for computing are arranged well by HPC.NET without the developer’s intervention. In conclusion, this thesis addresses HPC usability in .NET platform. Multiple .NET languages are supported and multiple machines are used to build up a high usability and high performance computing paradigm.69en.Net High Performance ComputingWindows HPC Server 2008 R2.Net High Performance Computing based on Windows HPC Server 2008 R2DEENK Témalista::Informatika::Információtechnológia