• Breaking News

    Saturday, August 29, 2020

    Classic Computer Science

    Classic Computer Science


    Classic

    Posted: 28 Aug 2020 04:27 PM PDT

    Vulkan as an alternative to CUDA in scientific simulation software

    Posted: 28 Aug 2020 06:01 AM PDT

    This is a continuation post to the VkFFT announcement. In it I promised an example of scientific application, that outperforms its CUDA counterpart, has no proprietary code behind it and is crossplatform. Here I present Vulkan Spirit, fully GPU version of the computational magnetism package Spirit, developed at FZ Jülich. I hope this post can motivate other scientists to explore the world of Vulkan for scientific GPU computing, as right now it is heavily dominated by CUDA.

    From mathematical point of view, simulation of a magnetic system in micromagnetics can be described as a system of differential equations (LLG) on a finite-difference mesh. Each cell's position is influenced by positions of its neighbors, material parameters, external effects and many other things. Successful iterative integration of the LLG system can yield time dynamics, resembling experimentally observed evolutuon of magnetics.

    From the programming point of view, simulation software is simpler than the one that has to communicate with the user during runtime. There are no calculations performed on the CPU during the execution, so it is only used to create a command buffer before launch, which is not modified afterwards. Combining multiple iterations in a single command buffer significantly reduces initialization overhead and is one of the main benefits of using Vulkan due to its low-level nature.

    The Vulkan Spirit includes many algorithms written in SPIR-V shaders, such as LBFGS, VP and CG energy minimizers, RK4 and Depondt integrators of differential equations. The VkFFT library was primarily developed to compute the Dipole-Dipole interaction part of the gradient, which is one of the most time consuming parts of the iteration. It was possible to optimize every single part of the command buffer to reduce memory transfers to the minimum due to the explicit memory handling of Vulkan. This allowed to get up to 3x performance increase in comparison to CUDA based micromagnetics code mumax3. More information can be found on the github repository: https://github.com/DTolm/spirit

    Thanks for the read!

    As a side note, the VkFFT has been improved in the past month - it supports WHDCN layout, 8k sequences and Intel iGPUs. There is also a benchmark uploaded that can be used to compare the performance to the cuFFT.

    submitted by /u/xdtolm
    [link] [comments]

    Cheapest MS CS degree?

    Posted: 29 Aug 2020 03:26 AM PDT

    Hi, I am interested in getting a master's degree in computer science. I'm from California, I went to a respectable school for undergrad. I had a 3.91 GPA and scored a 166V/169Q on the GRE. The main thing I care about is price - I don't really care about prestige. I don't want to end up with a ton of debt after my degree. Does anyone know what is the best resource for comparing schools? Do MS degrees offer stipends? If so, which ones? I also am not interested in pursuing a PhD, and I'm not interested in an online program. Any advice about which school I should attend would be greatly appreciated.

    submitted by /u/metfox
    [link] [comments]

    Why floating point operations are slower than integer?

    Posted: 29 Aug 2020 12:26 AM PDT

    Why CPU needs additional FPU to handle floats at the same speed as integers?

    submitted by /u/PytonRzeczny
    [link] [comments]

    Is this mobile data usage normal? : teamviewer

    Posted: 28 Aug 2020 11:36 PM PDT

    715 MB for less than 20 minutes of usage? Isn't this a bit too much?

    submitted by /u/Harshitsharmaji
    [link] [comments]

    DataOpts and its concepts

    Posted: 28 Aug 2020 10:35 PM PDT

    Virtializatiom in cloud computing

    Posted: 28 Aug 2020 10:19 PM PDT

    Matplot++: A C++ Graphics Library for Data Visualization

    Posted: 28 Aug 2020 07:08 PM PDT

    Data visualization can help programmers and scientists identify trends in their data and efficiently communicate these results with their peers. Modern C++ is being used for a variety of scientific applications, and this environment can benefit considerably from graphics libraries that attend the typical design goals toward scientific data visualization. Besides the option of exporting results to other environments, the customary alternatives in C++ are either non-dedicated libraries that depend on existing user interfaces or bindings to other languages. Matplot++ is a graphics library for data visualization that provides interactive plotting, means for exporting plots in high-quality formats for scientific publications, a compact syntax consistent with similar libraries, dozens of plot categories with specialized algorithms, multiple coding styles, and supports generic backends.

    https://github.com/alandefreitas/matplotplusplus

    submitted by /u/FreitasAlan
    [link] [comments]

    No comments:

    Post a Comment