GPU / GPGPU  progamming links / SuperComputing at your fingertips

Supercomputing? For sure: as of November 2004, the Cray X1 had a maximum measured performance of 5.9 teraflops, today Nvidia Turing delivers 16Tflops

( What is GPU Computing? )

 

OpenCL is an open general-purpose GPU computing language. It is an open standard defined by the Khronos Group. OpenCL provides a cross-platform GPGPU platform that additionally supports data parallel compute on CPUs. OpenCL is supported on Intel, AMD, Nvidia, and ARM platforms. The Khronos Group is currently involved in the development of SYCL, which has its implementations with ComputeCPP and SYCL STL.

A proprietary framework is Nvidia CUDA. Nvidia started CUDA in 2006, a software development kit (SDK) and application programming interface (API) that allows using the programming language C to code algorithms for execution on GeForce 8 series and later GPUs.

Close to Metal, later called Stream, is AMD's GPGPU technology for ATI Radeon-based GPUs. AMD Stream SDK, was released under AMD EULA in December 2007 after the software stack was rewritten. Stream SDK provides high-level in addition to low-level tools for general-purpose access to AMD graphics hardware. Using GPUs to perform computations holds a lot of potential for some applications because of the fundamental differences of GPU microarchitectures compared to CPUs. GPUs achieve much greater throughput (calculations per second) by executing many programs in parallel and restricting flow control (the ability of one program to execute instructions independently of another). Modern GPUs also have addressable on-die memory and extremely high performance multi-channel external memory. AMD subsequently switched from CTM to OpenCL.

 

 


GPU-Gems Part I http://developer.nvidia.com/content/gpu-gems-part-i-natural-effects

 

Pharr, M.: GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation. Addison-Wesley, Boston, MA, 2005 or http://http.developer.nvidia.com/GPUGems2/gpugems2_part01.html or http://www.addison-wesley.de

 

 

Nguyen, H.: GPU Gems 3: Programming Techniques for High-Performance Graphics and General-Purpose Computation. Addison-Wesley, Boston, MA, 2007 or http://www.addison-wesley.de or  http://http.developer.nvidia.com/GPUGems3/gpugems3_part01.html

 

 

 

 

Some pdf- articles stored locally:

GPU CLUSTER COMPUTING FOR MULTIGRID-FEM SOLVERS WITH APPLICATIONS IN CFD

GPU Simulation and Rendering of Volumetric Effects for Computer Games and Virtual Environments

Higher order FEM numerical integration on GPUs with OpenCL

Implicit FEM and Fluid Coupling on GPU for Interactive Multiphysics Simulation

Fluid–solid coupling on a cluster of GPU graphics cards for seismic wave propagation

Fast seismic modeling and reverse time migration on a GPU cluster

GPU Cluster Computing For Multigrid FEM-Solvers...  (abstract)

Assembly of Finite Element Methods on Graphics Processors

Towards a complete FEM-based simulation toolkit on GPUs: Geometric Multigrid solvers see also:

Towards a complete FEM-based simulation toolkit on GPUs: Geometric Multigrid solvers(2)

Finite Element Multigrid Solvers for PDE Problems on GPUs and GPU Clusters Part 2: Applications on GPU Clusters

Exploring weak scalability for FEM calculations on a GPU-enhanced cluster

Accelerating Double Precision FEM Simulations with GPUs

Analyzing CUDA Workloads Using a Detailed GPU Simulator

Automated Finite Element Computations in the FEniCS Framework using GPUs

GPU Cluster Computing for Finite Element Applications

Finite Element Integration on GPUs

Efficient Implementation of Finite Element Operators on GPUs

Massively Parallel Micromagnetic FEM Calculations with Graphical Processing Units (GPUs)

Making Faster FEM Solvers, Faster

 

general gpu:

General Purpose Computation On Graphics Processing Units


 

 

texts in german:

GPU-basierte Verfahren zur interaktiven Simulation und Darstellung von Fluid-Effekten

Implementierung von FEMMethoden auf programmierbaren Grafikkarten

FFT auf der GPU Von Alexander Kubias
 

A litle bit older (SOFA see below):

Efficient nonlinear FEM for soft tissue modelling and its GPU implementation within the open source framework SOFA

 


 

 

 

Software:

 

 

NVIDIA Parallel Nsight or here

NVIDIA Parallel Nsight brings GPU Computing into Microsoft Visual Studio. Debug, profile and analyze GPGPU or graphics applications using CUDA C, OpenCL, DirectCompute, Direct3D, and OpenGL.

 

NVIDIA PhysX  (9.19.0218) 2019.03.08

NVIDIA PhysX SDK  provides game physics solutions for a variety of platforms including PC, in both software and GPU hardware-accelerated confugurations, OSX, Linux, all current major game consoles (PS3, Xbox 360, and Wii), and key mobile computing platforms.

 

NVIDIA CUDA  (Compute Unified Device Architecture), Nvidia's GPGPU technology for Nvidia GeForce-, Quadro- and Tesla-based GPUs (NVIDIA CUDA german)

Nvidia CUDA Programming Guide for CUDA Toolkit 3.2

http://developer.download.nvidia.com/compute/DevZone/C/html/featured_samples.html

Nvidia Developer Web Site

Nvidia Development Whitepapers and Presentations

Nvidia developer resources page

NVIDIA GPU Computing Developer Home Page

Nvidia Free GPU Computing Online Seminars

GEFORCE RTX 2080T, NVIDIA TITAN XP

Nvidia Turing delivers 16Tflops (RTX 2080 Ti 14,2Tflops, same as Radeon VII 13,8Tflops, As of November 2004, the Cray X1 had a maximum measured performance of 5.9 teraflops). It features RT Cores to accelerate ray tracing and new Tensor Cores for AI inference. The cards are optimized for ray tracing. For the first time they make real-time ray tracing possible.

 

 

 

AMD:

Stream, AMD/ATI's GPGPU technology for ATI Radeon-based GPUs

https://developer.amd.com/tools-and-sdks/

RADEON PRO DUO, RADEON VEGA FRONTIER LIQUID, Radeon VII

AMD Open64 SDK

 


Which grafics card to choose - a "best" card does not exist. You got to choose - all or high end  or  price performance (G3D Mark / $Price)

There are descriptions in the net how to flash a 465 to a 470 (not for the faint at heart - do a back up first, not all cards can flash to a 470!) german description

test your gpu:

GPU-Z

        FurMark 1.9.0

        GPU Caps Viewer see also here

https://www.geeks3d.com/20140304/gputest-0-7-0-opengl-benchmark-win-linux-osx-new-fp64-opengl-4-test-and-online-gpu-database/#download

GPGPU Performance Tests Source: https://www.codeproject.com/articles/582494/gpgpuplusperformanceplustests

rodinia (linux) description

Mflops/Gigaflops benchmark (windows/linux)

Geekbench 4 for Windows https://www.geekbench.com/download/windows/

 

 

A SuperComputer at your fingertips? !!!

http://atlasfolding.com/?page_id=148    GPU-Supercomputer mit 30 TFLOPS(german)

SuperComputer with the same performance as a supercomputer cluster consisting of hundreds of PCs

         http://www.geek.com/articles/chips/new-fastest-supercomputer-uses-7168-nvidia-gpus-14336-intel-cpus-20101028/    Chinese supercomputer

          http://www.dvhardware.net/article27538.html

 


 

Microsoft:

DirectCompute Microsoft's GPU Computing API - Initially released with the DirectX 11 API

Microsoft Accelerator

Microsoft DirectX / DirectCompute or http://www.microsoft.com/games/en-en/aboutgfw/pages/directx.aspx or

directx 12

 http://www.nvidia.com/object/cuda_directcompute.html or http://www.nvidia.de/object/directcompute_de.html or http://developer.nvidia.com/category/zone/cuda-zone

Microsoft Parallel Computing Developer Center or here: http://msdn.microsoft.com/en-en/concurrency/default

 

 

 

 

Intel:

Intel OpenCL SDK (Windows 7 32/64) or http://software.intel.com/en-us/articles/intel-opencl-sdk

Intel C/C++ Compiler

 

Open source:

OpenCL (Open Computing Language) cross platform GPGPU language for GPUs (AMD/ATI/Nvidia) and general purpose CPUs
Apple's GPU utilization introduced in Mac OS X v10.6 ‘Snow Leopard’

Adventures in OpenCL: Part 1, Getting Started

Adventures in OpenCL: Part 1.5, C++ Bindings

Adventures in OpenCL Part 2: Particles with OpenGL

Brown Deer Technology: OpenCL Tutorial: N-Body Simulation.

Barnes-Hut OpenCL GPU N-body simulation.

nBody Simulation in CUDA

N-body Simulations On GPU Clusters

Bonsai  http://www.ascl.net/1212.001

Nvidia  OpenCL

AMD OpenCL

OpenCL Programming Guide

 OpenCL Quick Reference Card

OpenCL specification

OpenCV / GpuCV see also: http://opencv.willowgarage.com/wiki

OpenCV / GpuCV links and downl. here

OpenGL and OpenCL Debugger

Open MPI: Open Source High Performance Computing.

OpenMP.org: OpenMP Application Program Interface. Version 3.0, May 2008. pdf: http://www.openmp.org/mp-documents/spec30.pdf

BrookGPU is the Stanford University Graphics group's compiler and runtime implementation of the Brook stream programming language. See also here.
GLSL Shader Programming Resources
CBC Seminar on GPU Programming and Computing
General-Purpose Computation on Graphics Hardware
GNU Scientific Library (GSL) or
http://www.gnu.org/software/gsl/manual/html_nod
GPUcomputing.net: Research and development community.
GPU Resources


GPUSort: High Performance Sorting using Graphics Processors or
http://gamma.cs.unc.edu/GPUSORT/results.html


Mathematica GPU Computing see also:
http://reference.wolfram.com/mathematica/ParallelTools/tutorial/Overview.html
or here: http://www.nvidia.de/object/cuda-programming-mathematica-de.html
MATLAB GPU Computing or here http://www.mathworks.de/discovery/matlab-gpu.html or here http://developer.nvidia.com/object/matlab_cuda.html

MIT Open Courseware: Applied Parallel Computing.

MPI standard: The Message Passing Interface Standard.or here
http://www.mpi-forum.org/docs/mpi-2.2/mpi22-report.pdf or here http://www-unix.mcs.anl.gov/mpi

 


Fea/Fem packages here





Some more GPU /FEM links:

GPU Floating-Point Paranoia


ATILA GPU simulator source code released - Beyond3D Forum ATILA


GPU simulator source code released 3D Technology & Algorithms gpuprogramming-project3-final - monkology



SOFA download SOFA documentation SOFA altern. link ForceField

Tag: Finite Element Methods :: GPGPU.org
IEEE Xplore - GPU accelerated fast FEM deformation simulation
 
GPU acceleration of an unmodified parallel finite element Navier-Stokes solver
 
   
GPGPU - Wikipedia, the free encyclopedia
 
GPU accelerated FEM for simulation and segmentation - NAMIC
 
 
Graphics Processor Unit (GPU) acceleration of Time-Domain Finite Element Method (TD-FEM) algorithm (IEEE) | GPU Computing
wisc.edu: Simulation-Based Engineering Laboratory
DISCRETE ELEMENT METHODS: DEM5
SIGGPU: http://siggpu.org/
GPU Computing
Automated Finite Element Discretization and Solution of Nonlinear FEM Systems /Magma Dynamics

GMH: A Message Passing Toolkit for GPU Clusters



A MEMORY EFFICIENT AND FAST SPARSE MATRIX VECTOR PRODUCT ON A GPU   Aspect: Advanced Solver for Problems in Earth's ConvecTion download here, svn here  

 


 

 
FEM Utils:

calc4fem Spreadsheet for Structural Engineering (FEM Analysis for beams, trusses, 2D-frames).
Meshgen Meshgen is designed to interactively generate 2D FEM meshes composed of triangular and quadrilateral elements.
fem_converter Conversion of data elements from one format to another (no files released)
Grid3D is a preprocessing tool for FEAST and its predecessor FEATFLOW. It provides a convenient graphical interface to create geometries and coarse grids, define boundary conditions, etc. Grid3D is implemented purely in JAVA. (Downloads and documentation...)

ALBERTA - An adaptive hierarchical finite element toolbox newer version: http://www.numa.uni-due.de/downloads/alberta/

The ALUGrid Library provides both hexahedral and tetrahedral grids which can be locally adapted and when used for parallel computations the decomposition of the domain can be recomputed.
The PARTY partitioning library serves a variety of different partitioning methods in a very simple and easy way. Instead of implementing the methods directly, the user may take advantage of the ready implemented methods of the library (on demand)
PreView is a Finite Element (FE) preprocessor that has been designed specifically to set up FE problems for FEBio Postview is a finite element post-processor that is designed to post-process the results from FEBio. WinFiber3D is a program that allows you to visualize MicroVisu3D files. WarpLAB is a finite element (FE) post-processing application that is specially designed to post-process warping problems. OpenDX OpenDX is a full-featured software package for the visualization of scientific, engineering and analytical data: Its open system design is built on a standard interface environments. And its data model provides users with great flexibility in creating visualizations.

Salome pre- & postprocessor

GMV GMV is no longer available for free and is being commercialized.

Tecplot not free, site licence

VTK The Visualization Toolkit (VTK) is an open-source, freely available software system for 3D computer graphics, image processing and visualization.

VTKEdge library of advanced visualization and data processing techniques that complement the Visualization Toolkit.

ParaView is an open-source, multi-platform data analysis and visualization application.

PovRay raytracer

Visit VisIt is a free interactive parallel visualization and graphical analysis tool for viewing scientific data on Unix and PC platforms

GeoMesh (131 KB). simple mesh generator
GenMesh (190 KB) more general mesh generator.
Casca mesh generator (no more avail ? manual here). The casca program can be used to make a general finite element mesh. This can then be read into Geocrack2D.

Netgen is a multi-platform automatic mesh generation tool written in C++ capable of generating meshes in two and three dimensions. The program is open source

Tetgen Open source code for generating tetrahedral meshes. Volume mesh created from surface meshes.

Gmsh: a three-dimensional finite element mesh generator with built-in pre- and post-processing facilities

LaGriT is a library of user callable tools that provide mesh generation, mesh optimization and dynamic mesh maintenance.

List of mesh generators (public domain and comerc.) Another one.

CUBIT (free for governmental use, else comercial) http://www.csimsoft.com/

OpenCTM (last Upd 2010-01-15) OpenCTM is a file format, a software library and a tool set for compression of 3D triangle meshes. The geometry is compressed to a fraction of comparable file formats (3DS, STL, COLLADA...), and the format is accessible through a simple, portable API

Some converters may stll be useful on the old ASME/Mecheng website README, FTP, short description of files


Physics Engines: (most open source)

3D Physics Engine  simple physics engine (not updated since 2009)

ASCEND modelling environment http://sourceforge.net/projects/ascend-sim/

Box2d on Googlecode: http://code.google.com/p/box2d/

Bullet http://bulletphysics.org/wordpress/

Chipmunk http://chipmunk-physics.net/

Farseer http://farseerphysics.codeplex.com/

Flave Flash-based, OOP verlet physics engine developed in AS3 and Flash

Frank Engine  http://sourceforge.net/projects/frankengine/

Gravetathttp://sourceforge.net/projects/gravetat/

InertiaEngine InertiaEngine is a 2D rigid body physics engine written in C++, not OS dependent

JigLibx http://jiglibx.codeplex.com/

jinngine A 3-d Constraint-based multibody physics engine written entirely in Java

jME Physics System Java engine

Newton http://newtondynamics.com/forum/newton.php

Ode http://www.ode.org/

ode4j Ode in Java http://sourceforge.net/projects/ode4j/

openwowengine http://sourceforge.net/projects/openwowengine/

Pal (physics abstraction layer) http://www.adrianboeing.com/pal/index.html see also: Open Physics Abstraction Layer

Planck Physics Engine Planck is a small physics engine  to simulate rigid bodies and particles.

Rage 3D Game Engine Open source game engine developed in Delphi using OpenGL 2.0

RockSpace Physics Engine  RockSpace is a real-time, three-dimensional Newtonian physics engine written in C++

SOFA (see above)

Tokamak http://www.tokamakphysics.com/ or on sf: http://sourceforge.net/projects/tokamakp/

 

Utils:

Scythe Physics Editor  

MathMLWYSIWYGEditor

P4D - editor and environment  P4D is a lowpolygon 3D editor

Ephydryne (aka Hyperion)  Ephydryne is a plug-in for physic engine which calculates surface deformations in real-time.

 

 

no engine, but..

Astronomy  Astronomy is an open-source game engine for Windows supporting OpenGL (with modern hardware capabilities support), OpenAL, DirectInput, multithreading, scripting, physics.



general gpu links


www.shaderx.com

www.shaderx2.com

www.shaderx3.com

www.gpgpu.org or http://gpgpu.org/tag/ati-stream

gpucomputing.net codesnippets: http://www.gpucomputing.net/?q=codesnippets

Mesh-based Monte Carlo (MMC)
Collins Brain Atlas FEM Mesh Version 2

Monte Carlo eXtreme (MCX)

C# gpu https://csharp.hotexamples.com/examples/-/GPGPU/-/php-gpgpu-class-examples.html

GPU-based Interactive Simulation of Liver Resection (using SOFA) Digimouse is a popular mouse atlas (Dogdas2007). FEM mesh Version 1 was created by Qianqian Fang using iso2mesh (Fang2009) version 1.0 and CGAL (CGAL2009). http://www.evl.uic.edu/aej/594/index.html
http://www.cs.virginia.edu/~gfx/Courses/2006/RealTime/
http://courses.cms.caltech.edu/cs179/
http://www2.tech.purdue.edu/cgt/Courses/cgt581c/
http://www.realtimerendering.com/
http://web.engr.oregonstate.edu/~mjb/cs519/
http://graphics.stanford.edu/courses/
http://www.ece.uiuc.edu/courses/coursedes.asp?498AL or http://www.ece.illinois.edu/courses/
http://www.cs.lth.se/home/Calle_Lejdfors/pygpu/
http://www.beyond3d.com
http://www.3ddrome.com/
http://dev.gameres.com/
http://blog.csdn.net/soilwork
What is GPU Computing?
CUDA, Supercomputing for the Masses: Part 1-20
Use your GPU for scientific computing or http://boinc.berkeley.edu/wiki/GPU_computing
Using Graphics Processors for High Performance IR Query Processing
https://www.quora.com/What-is-the-difference-between-GPU-and-GPGPU
GPU-based Fast Analysis of Networks
Computational Intelligence Research Lab Graphics Processor Unit (GPU) Site or here
FLAGON is a library for programming NVIDIA CUDA from Fortran 95
GPU programming concepts
Installing the CUDA SDK
General Purpose GPU Programming
CUDA game of life: http://forums.nvidia.com/index.php?showtopic=152757
Mandelbulb stereo angalyph
CFD cuda paper of rodinia bench
Radix sort for doubles: Sort doubles with two 32-bit radix sorts using similar tricks. Here are some performance results
Performance of 3D Deconvolution Algorithms on Multi-Core and Many-Core Architectures

Swarm-NG focuses on the integration of an ensemble of N-body systems evolving under Newtonian gravity.
8 cpus vs gpu code you find here: Clarity Deconvolution Library 1.0 manual here: http://cismm.cs.unc.edu/resources/software-manuals/clarity-deconvolution-library/
Fuzzy Logic on the GPU in CUDA

C# Backpropagation library written for GPU
Slideshow for ATI GPGPU physics demonstration by Stanford grad student Mike Houston See p. 13 for overview of mapping of conventional program tasks to GPU hardware.
Tech Report article: "ATI stakes claims on physics, GPGPU ground" by Scott Wasson
gpu economics or here: http://people.maths.ox.ac.uk/~gilesm/hpc/

montecarlo gpus or here: http://www-atom.fysik.lth.se/MedWeb/research/monte_carlo_files/CUDAMC.rar


using 3D arrays in cuda with explanation
openhmpp.org - New Open Standard for Many-Core gpu's
SIGGRAPH 2005 GPGPU Course Notes
IEEE VIS 2005 GPGPU Course Notes
CPU vs. GPGPU
Jacket: GPU Engine for MATLAB
Ascalaph Liquid GPU see also molecular dynamics.
http://www.gpu4vision.org GPGPU Publications, Videos and Software
GP-You Project
GPU accelerated Monte Carlo simulation of the 2D and 3D Ising model - porting a standard model to GPU hardware
GPGPU software catalog
GPGPU Computing @ Duke Statistical Science
Brahma - open-source library written for the .NET 3.5 framework (in C# 3.0). Focus on GPGPU.
Penumbra - open-source library for Clojure. Penumbra is a Clojure wrapper for LWJGL that includes s-expression representation of GLSL and GPGPU.
OpenCL Studio Integrated development environment for OpenCL.
Monte Carlo of diffuse light propagation (photon migration) CUDA-based codes for Monte Carlo simulation of light transport
GPGPU Programming in F# using the Microsoft Research Accelerator system.
ViennaCL scientific computing library compatible with uBLAS for GPUs and multi-core CPUs written in C++ and based on OpenCL.
GPGPU Image Post-Processing GPU accelerated examples of Paint.NET's blur effects with performance comparison.
VizExperts provide HPC solutions and training.
Intro to GPGPU featuring CUDA and OpenCL
GPGPU Review, European Physical Journal Special Topics 194, 87-119 (2011)
CUDAfy.NET Open source library for the .NET framework for programming CUDA GPUs. Supports device code in native .NET; and CURAND, CUBLAS and CUFFT.
code that permutes indexes or here , pdf: http://dl.dropbox.com/u/1416327/Matrix_transpose_post.pdf see also this page: http://oz.nthu.edu.tw/~d947207/cuda this can be used for: Bandwidth intensive 3-D FFT kernel for GPUs using CUDA
Introduction to GPU Programming with GLSL: SIBGRAPI 2009 Ricardo Marroquim André Maximo motivation architecture language examples wrap-up Tutorial project:

Introduction to GPU Programming with GLSL Ricardo Marroquim Istitutodi Scienzae Tecnologiedell'Informazio ne CNR Pisa, Italy ricardo.marroquim@isti.cn r.it Andr ...

GPU Programming and GLSL: 15-466 Computer Game Programming, Carnegie Mellon University, Spring 2007 (James Kuffner) Announcements Announcements Announcements Lab2 posted at: …

GPU Programming using GLSL and VTK: 3 vizNETConference 2009 Graphics shaders • Procedural graphics shadershave been around since the early days of computing. • Developed by scientists

Release Notes for NVIDIA OpenGL Shading Language Support November 9, 2006 These release notes explain the implementation status of the OpenGL Shading Language GLSL ...

GPU Christmas Tree Rendering: January 2007 1 Beta Release This is the beta version of the Christmas tree rendering whitepaper. A final version will be released in a later SDK

AMD - Introduction to OpenGL 3.0 Introduction OpenGL continues to evolve, growing alongside the hardware that supports it. With the release of the latest version of OpenGL.

SiftGPU Manual Changchang Wu University of North Carolina at Chapel Hill Introduction SiftGPU is a GPU implementation of David Lowe's Scale Invariant Feature

The OpenGL Shading Language: Introduction This document specifies only version 1.30 of the OpenGL Shading Language. It requires __VERSION__ to substitute 130, and requires #version to …

Speed-up of Algorithms With Graphics Processing Units (GPU): Part I of IV Derek Anderson and Robert Luke * Electrical and Computer Engineering Department

Intro to OpenGL Shading Language (GLSL): Intro to OpenGL Shading Language (GLSL) Why should we care? •We can do lots of really cool stuff in real-time, without overworking the CPU •Some Examples

Step-Through Debugging of GLSL Shaders Hilgart, Mark School of Computer Science, DePaul University, Chicago, USA

Intro to GLSL (OpenGL Shading Language): Worcester Polytechnic Institute 5 Back To Lecture Back To Lecture Q: What is a Programmable GPU & Why do we need it?

RTSL: a Ray Tracing Shading Language StevenG. Parker † Solomon Boulos James Bigler † Austin Robison † SCI Institute, University of Utah School of Computing

PyStream: Python Shaders on the GPU: PyStream vs. GLSL PyStream vs. GLSL class CompiledAmbientP ass(pystreamruntime.BaseC ompiled Shader): def _bindUniforms(self, shader):

Ray Tracing on GPU: University of Applied Sciences Basel (FHBB) Diploma Thesis DA070405 RayTracing on GPU Ray Tracingon GPU
OpenGL"Hello, world!" byIan Romanick This work is licensed under the Creative Commons Attribution Non-commercial Share Alike (by-nc-sa)

GLC_lib GLC_lib is a C++ library for high performance 3D application based on OpenGL and QT4 GUI. Some GLC_lib features : Supported file format : 3DS, OBJ, COLLADA, 3DXML, OFF, STL. Easy view manipulation, Level of detail, shaders




Books:

GPU Computing Gems Emerald Edition (Applications of GPU Computing Series) by Wen-mei W. Hwu Hardcover
 

CUDA by Example: An Introduction to General-Purpose GPU Programming by Jason Sanders Paperback 
 

Programming Massively Parallel Processors: A Hands-on Approach (Applications of GPU Computing Series) by David B. Kirk Paperback

GPU Pro 2

The Art of Multiprocessor Programming

Scientific Computing with Multicore and Accelerators

FreeBookCentre.Net

BLAS/PBLAS/CUBLAS, LAPACK/PLAPACK/CULA/MAGMA, CUDPP, ScaLAPACK:

- BLAS/PBLAS: (Parallel) Basic Linear Algebra Subprograms: http://www.netlib.org/blas/index.html or here http://www.netlib.org/scalapack/pblas_qref.html

- CUBLAS: CUDA/GPU accelerated BLAS: http://developer.download.nvidia.com/compute/cuda/3_2_prod/toolkit/docs/CUBLAS_Library.pdf

- LAPACK/PLAPACK: (Parallel) Linear Algebra Package: http://www.netlib.org/lapack/index.html or here http://www.cs.utexas.edu/~plapack

- CULA: CUDA/GPU accelerated LAPACK: http://www.culatools.com

- MAGMA: Matrix Algebra on GPU and Multicore Architectures: http://icl.cs.utk.edu/magma

- CUDPP: CUDA Data Parallel Primitives Library: http://code.google.com/p/cudpp

- ScaLAPACK: Scalable LAPACK: http://www.netlib.org/scalapack/index.html


- Open source scientific resources

-
GSL - GNU Scientific Library - Boost not necessary to mention (uBLAS...)

- Mathematics Libraries  Tools/libraries: analytical and numerical mathematical methods in ODE, PDE, Vector Calculus, Linear Algebra, Probability and Statistics, Numerical Methods, FEM, DSP. The current file release libham1.0 is for Geometric Integration of Hamiltonian Systems



General Programming

Wikipedia (select your preferred language):

ATI-Stream: http://en.wikipedia.org/wiki/ATI-Stream
CUDA:
http://en.wikipedia.org/wiki/CUDA

DirectCompute: http://en.wikipedia.org/wiki/DirectCompute

DirectX: http://en.wikipedia.org/wiki/Directx

GPGPU: http://en.wikipedia.org/wiki/GPGPU

Grafikprozessor: https://en.wikipedia.org/wiki/Graphics_processing_unit

OpenCL: http://en.wikipedia.org/wiki/OpenCL

OpenCV: http://en.wikipedia.org/wiki/OpenCV
Fea/Fem packages: wickipedia article

3d Converter tools:

FileConverter Java  Converting typical geodetical formats into other formats.

3D Mesh-To-Heightmap Generator  simple command line tool for converting 3D meshes to raster heightmaps.

Convert3D Medical Image Processing Tool

IVCON  IVCON can read and write a small variety of 3D graphics file formats, converting from one to the other. Currently supported formats are: 3DS - AutoCAD 3D Studio Max binary files; ASE - AutoCAD ASCII export files; BYU - Movie.BYU surface geometry file

IVCon-TL 3D scene conversion tool IVCon-TL can read and write a variety of 3D graphics file formats, converting from one to the other. Supported formats include 3DS, ASE, BYU, DXF, GMOD, HRC, IV, OBJ, OFF, POV, SMF, STL/STLA/STLB, TEC, TRI/TRIA/TRIB, UCD, VLA, WRL/VRML, XGL and more

people.sc.fsu.edu/~jburkardt/data/iv/... (source of the ivcon.C file) easy to compile ,  conversions of '.obj' to '.iv' --- and '.iv' to '.3ds'.

orion.math.iastate.edu/burkardt/g_src/ (source of the 3dsread, ivcon, IVREAD.F90 file) 

3D formats supported by IVCON (see the 4 links above)

3DCNV3D Object Converter 3dcnv. Save Limit: 6000 faces. Supports 104 different 3d file formats 3dcnv132.zip

ACTC Triangle Consolidator ACTC converts independent triangles into triangle strips or fans. You can approach a three times geometry speedup on OpenGL and Direct3D using these primitives.

 

merlin-fit-vutbr-cz/wiki/... (projects, for the source of the '3ds2iv_src.zip' file)

Universal 3D models converter (version 0.1)

 

ftp://zeus.etsimo.uniovi.es/pub/mirrors/avalon.viewpoint.com/utils/converters/('3dstoobj_perl.zip' and many many more..)(the old avalon 3d archive)

dxf2nc A program to convert dxf CAD files to NIST compliant GCODE for both 2d and 3d toolpaths.

quantumg-net/... (source of the '3ds2ogre.tar.gz' file)

Pov2Tri Pov2Tri is a PovRay script interpreter to convert PovRay models in triangulated surface objects

dxf.sourceforge.net DXF reader code

ASEtoT3D  ASEtoT3D is an application that converts (most) 3DS Max ASE (Ascii Scene Export) files into Unreal T3D brushes

ftp://zeus.etsimo.uniovi.es/pub/mirrors/avalon.viewpoint.com/utils/converters/ ('dxftoobj_perl.zip') (the old avalon 3d archive)

hammerve-com/NewHome/FreeStuff/Converters/ (for iv2pov, iv2rib, iv2ray see bottom of the page)

j3dfileconv  FileConv is a set of utility classes that allow java programmers to load/write 3d files of various formats to/from 3d applications and convert between various file formats

amber.rc.arizona.edu/vrml.html (lw2iv  'lwtoiv' converts LightWave 3D files to Inventor)

koders.com/perl/...... (source of the 'obj2wrl' script file) or   ftp://ftp.carnet.hr/misc/VRML/utilities/converters/obj2wrl.tar.gz
or  ftp://ftp.sdsc.edu/pub/sdsc/graphics/vrml/obj2wrl.tar.gz

cc.gatech.edu/projects/large_models/ (source of the ply2iv.c, obj2ply.c, convertply.c files --- and others)

graphics.stanford.edu/data/3Dscanrep/ (plyfile.c and plytest.c source code and a ply_docs file.)

C++ library for parsing the PLY file format.

PolyTrans crippled demo avail.

xs4all.nl/~rsmith/software/ ('stl2pov' link  - source code.)

chemicalgraphics.com/paul/vrml2pov/ ('vrml2pov' file.) (C++ source)

SU2POV Version 3.5 is now available. SU2POV is a freeware converter to export SketchUp models to POV-Ray.

3ds utils (the old avalon 3d archive): ftp://zeus.etsimo.uniovi.es/pub/mirrors/avalon.viewpoint.com/utils/3ds/

3dkit etc.. ftp://zeus.etsimo.uniovi.es/pub/mirrors/avalon.viewpoint.com/utils/misc/

lightwave utils: ftp://zeus.etsimo.uniovi.es/pub/mirrors/avalon.viewpoint.com/utils/lightwave/

3d format specs: ftp://zeus.etsimo.uniovi.es/pub/mirrors/avalon.viewpoint.com/format_specs/ or ftp://etsimo.uniovi.es/pub/raytrace/avalon/format_specs/

old funet repository: http://next.68k.org/next/ftp.funet.fi/pub/NeXT/Graphics/3d/

more converters (old but some still useful): http://ftp.lanet.lv/ftp/mirror/x2ftp/msdos/programming/convert/

more converters (old but some still useful): ftp://garbo.uwasa.fi/pc/ for instance autocad...

to and from radiance http://radsite.lbl.gov/radiance/framed.html

obj2ray (obj to rayshade) ftp://graphics.stanford.edu/pub/rayshade/Contrib/Tools/

STL for Sketchup An STL format importer/exporter plugin script for Google SketchUp. Supports both binary and ASCII import and export.

 

 

many more converters to come....

 


3d Modeller

Aero

Ayam 1.19 Open Source

Blob

white_dune 0.31beta170 Open Source

Wings3d

Blender

openfx (last update 2013) ver 2.4

Freyja

Y.A.P.R.M. modeller to graphicaly design 3d scenes and generate POV-Ray-files (free-as-in-freedom)

Grasshopper 1.0 for Rhino

Insight3D 0.3.2 Open Source

Art of Illusion 2.8.1 Open Source

BRL-CAD 7.26.0 Open Source one of the oldest now in vers 7.26

Arbaro 1.9.8 Open Source

Moonlight | 3D 0.2.3 Open Source

Moray or http://www.stmuc.com/moray/

 

(a little bit older..)

Breeze

Povlab (last upd 2002)

Forespace

Gum

Midnight

pc3d

Povcad

Pv3d

SCED

 


3D-Viewers

ftp://zeus.etsimo.uniovi.es/pub/mirrors/avalon.viewpoint.com/utils/viewers/

GLC-Player GLC_Player is a OpenGL Open Source 3D viewer used to view 3d models (COLLADA, 3DXML, OBJ 3DS STL OFF COFF Format) and to navigate easily in these models.

The Open Source STL viewer (no update since 2004) Viewstl is an open source way to view Stereo Lithography Files as shaded on-screen images. Ascii STL files and dynamic rotation, scaling, and panning are currently supported. Written in C using OpenGL, GLU and GLUT.

STL Viewer (last Upd. 2010-01-23) Display and manipulate the content of stereolithography or STL files.

 


Ray tracer

rayshade https://sourceforge.net/projects/rayshade/

Pov-ray http://www.povray.org/documentation/view/3.6.1/10/

radiance https://floyd.lbl.gov/radiance/HOME.html

list of raytracing soft: https://en.wikipedia.org/wiki/List_of_ray_tracing_software

 

 


particle engines

Particle Engine Using Triangle Strips or Particle Systems (both NEHE)

Tutorial Framework:Particles

OpenGl particle engine

Tricelpa - An OpenGL Particle Engine

Particle Sytems Rendered as OpenGL Points (simplistic)

Particles with OpenGL

TUTORIAL 8 - Particle System

Quagmire Particle Engine

Particle System && optimizing meshes

SPARK is an open source particle engine written in C++.

OpenGl particle rendering Noise based particles Particle Emitter: Particles Partikel Engine OpenGL 3d particle explosion

Texture Array Particle Rendering (german)

 


gps software: (codeproject gets slower and slower, be prepared to wait..)
Add GPS support to your desktop

Map Grabber on C#

Writing Your Own GPS Applications  part1 part3: Writing Mapping and GIS Software In .NET

Native DLL for GPS communication

A Simple Geo Fencing Using Polygon Method

GPS - Deriving British Ordnance Survey Grid Reference from NMEA data
Arbitrary precission math
 
c# has since version 4 Biginteger
A-BigNumber-Class-Done-in-C

A-Decimal-Class-Implementation

http://gmplib.org/

http://www.mpfr.org/

http://speleotrove.com/decimal/decnumber.html

http://pari.math.u-bordeaux.fr/

http://www.ttmath.org/

http://www.mpir.org/

Comparission of different arbitrary precission implementations:  http://rosettacode.org/wiki/Arbitrary-precision_integers_%28included%29 (strange: some have timing information, some not,)

 

Some more Euler/Runge-Kutta/Midpoint etc Solver:

http://www.hpcalc.org/details.php?id=4453 euler

http://www.mymathlib.com/diffeq/

Universal-Framework-for-Science-and-Engineering     alternative adress:     http://www.mathframe.com/

Astrophysics source code lib: viewforum.php

Ascl http://ascl.net/wordpress/

AstroFrame: https://sourceforge.net/projects/astrohalaxy/

PlasmaPy https://github.com/PlasmaPy/PlasmaPy/issues/594

astrophysics https://github.com/topics/astrophysics  Easy command line tools for Kepler, K2 & TESS data analysis.

astrophysics https://sourceforge.net/projects/astrophysics/

source code in astrophysics https://www.sciencedirect.com/science/article/pii/S2213133713000073

and quite naturally since years the de facto standard for everything concerning fourier analysis : http://www.fftw.org  (complete page to wavelets follows soon...)

 

  NBody Links: This list aims at listing allmost all resources of the web concerning nbody simulations (with emphasis on gpu). At the moment only a start.....

 



last update:  2019 soon: many more physics engines, editors, modeller, converter, particle engines/packages, gps data reader/converter, utilitys ....Stay tuned..........  .

There are links in this list which are no more valid. I kept them because sometimes the content just moved, is still accessible but on another site, can be found on an archive site, can still be found on a cd/dvd (like the avalon 3d archive..)..... This despite Google's idiotic broken links down ranking. Anyway this list is since  nearly 10 years the biggest list of links to gpu related topics in the web  and Google does its best to hide this site and this list.