Showing posts with label Computer Graphics. Show all posts
Showing posts with label Computer Graphics. Show all posts

Tuesday, April 02, 2024

Nvidia Metrics and more

 

[1] Times by cuda https://developer.nvidia.com/blog/how-implement-performance-metrics-cuda-cc/

[2] GPU Code https://http.download.nvidia.com/developer/GPU_Gems/CD_Image/Index.html 

[3] Fluid in GPU theory https://developer.nvidia.com/gpugems/gpugems/part-vi-beyond-triangles/chapter-38-fast-fluid-dynamics-simulation-gpu


[4] GPU Computing https://researchcomputing.princeton.edu/support/knowledge-base/gpu-computing


Cards 

[1] Guide https://www.nvidia.com/content/geforce-gtx/GEFORCE_RTX_2070_SUPER_User_Guide.pdf

[2] RTX 2070 Techinal summary  https://www.techpowerup.com/gpu-specs/geforce-rtx-2070-super.c3440



Important notes

* CUDA technology is developed by NVIDIA, and it is primarily designed to work with NVIDIA GPUs. CUDA is a parallel computing platform and application programming interface model that allows developers to use NVIDIA GPUs for general-purpose processing.

AMD has its own equivalent technology called OpenCL (Open Computing Language), which is an open standard for parallel programming of heterogeneous systems. OpenCL is not specific to AMD; it is supported by various vendors, including AMD, Intel, and others.

If you have an AMD GPU and want to leverage its parallel processing capabilities, you would typically use OpenCL rather than CUDA. However, it's important to note that not all software applications support both CUDA and OpenCL. The level of support depends on how the software was developed.

 * CUDA technology is specific to NVIDIA GPUs (Graphics Processing Units), and it cannot be used with AMD GPUs. CUDA (Compute Unified Device Architecture) is a parallel computing platform and programming model developed by NVIDIA for their GPUs. It includes a programming interface and software development kit (SDK) for general-purpose computing on NVIDIA GPUs.

On the other hand, AMD uses a different technology called OpenCL (Open Computing Language) for parallel computing across CPUs, GPUs, and other processors. OpenCL is an open standard maintained by the Khronos Group, and it is designed to be vendor-neutral, allowing developers to write code that can run on different hardware platforms, including AMD GPUs. For getting information about CAD Drafting and designing visit CAD Drafter.

If you have an AMD GPU and you are looking to perform GPU-accelerated computing, you would generally use OpenCL or other AMD-specific technologies like ROCm (Radeon Open Compute). CUDA-based applications are not compatible with AMD GPUs, and vice versa.

It's worth noting that some software applications and libraries support both CUDA and OpenCL, allowing users to choose between NVIDIA and AMD GPUs. However, the underlying GPU-specific code would need to be implemented separately for CUDA and OpenCL.

* in 2024 it is possible to run CUDA code in AMD GPUs

https://github.com/vosen/ZLUDA

* Is CUDA faster than MPI?

CUDA is fast, but only if your do a lot of parallel processing on matrices. CUDA can be very fast, but for some kind of applications. Data transfer in CUDA is often the bottleneck. MPI is suitable for cluster environment and large scale network of computers.

 

 

References



[1] NVidia Pascal https://wccftech.com/nvidia-pascal-gpu-gtc-2015/

[2] https://community.amd.com/t5/ai-discussions/is-it-possible-to-use-cuda-technology-with-amd/td-p/643124







Monday, September 25, 2023

Render tools - POV Ray

Compiling

https://github.com/POV-Ray/povray/releases/tag/v3.8.0-beta.2 


configure error: Could not link against boost_

sudo apt-get install libboost-all-dev

Tuesday, September 12, 2023

Volume Fractions

Thesis

[1] Smooth Interface Reconstruction from Volume Fraction Data Using Variational
Techniques and Level Set Methods

https://escholarship.org/content/qt2466j56f/qt2466j56f_noSplash_4c9dcb1c6cacafb1bcdc4a7bab220630.pdf?t=odypru

 

Volume Fractions in Rectangular Grids



Analytical Relations Connecting Linear Interfaces and Volume Fractions in Rectangular Grids
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.536.848&rep=rep1&type=pdf
[1] Markers - A front-tracking algorithm for accurate representation of surface tension (Zaleski)
https://hal.archives-ouvertes.fr/hal-01445441/document



[2] Level Set Methods (LSM)
[2.1] Tutorial Level Set vs Marching Methods https://math.berkeley.edu/~sethian/2006/Explanations/level_set_explain.html

[2.2-1] Part I (Def) https://wiseodd.github.io/techblog/2016/11/05/levelset-method/
[2.2-2] Part II(Application for segmentation) https://wiseodd.github.io/techblog/2016/11/20/levelset-segmentation/

Saturday, August 19, 2023

AI Surfaces

 

[1] https://dsilvavinicius.github.io/nise/

Wednesday, May 17, 2023

CG Visualization tools

 

[1] tools https://graphics.tudelft.nl/software/

[2] Surface from fluid in GPU https://github.com/xiaoxiaoyu1872/PostMPS

Wednesday, March 22, 2023

Houdini Repositories

 

 

host: ftp.sidefx.com

Houdini5.5 to Houdini19.5 Installers (Windows.exe/Linux.tar.gz/Macosx.dmg)




Monday, November 21, 2022

Candide Model Applications

 

[0] Model and code https://github.com/wobushizhanghua/candide3-face/blob/master/src/main.cpp

[1] Landmark 3D https://webspace.science.uu.nl/~veltk101/publications/art/wss06.pdf 

[2] https://github.com/MarekKowalski/FaceSwap

[3] https://github.com/jorticus/face-replace/blob/master/README.md

 

Thursday, February 17, 2022

Paraview Convert VTK file to PLY using Paraview script

 

1. vtk2ply 


from paraview.simple import *

import sys

pFrame30vtk = LegacyVTKReader(FileNames=[sys.argv[1]])

SaveData(sys.argv[2], proxy=pFrame30vtk)

Tuesday, November 16, 2021

3D grid savig methods using struct.pack

 

Python version for ints
def save2grid(filename,volume,dimx,dimy,dimz):

  with open(filename, "wb") as file:
    for i in range(dimx):
      for j in range(dimy):
        for k in range(dimz):
          f = (volume[i][j][k]*255).astype(np.uint8) #numpy.uint8
          #print(type(f))
          b = struct.pack('B', f)  #was f
          file.write(b)
          
def save2gridfast(filename,volume,dimx,dimy,dimz):
  flat=volume.reshape((dimx*dimy*dimz))
  flat=(flat*255).astype(np.uint8)
  with open(filename, "wb") as file:
       b = struct.pack('%sB' % len(flat), *flat)
       file.write(b) 

Python version for floats

def save2grid(filename,volume,dimx,dimy,dimz):

  with open(filename, "wb") as file:
    for i in range(dimx):
      for j in range(dimy):
        for k in range(dimz):
          f = volume[i][j][k] #[3.14, 2.7, 0.0, -1.0, 1.1]
          b = struct.pack('f', f)
          file.write(b)
def save2grid2(filename,volume,dimx,dimy,dimz):
  flat=volume.reshape((dimx*dimy*dimz))
  with open(filename, "wb") as file:
    for i in range(dimx*dimy*dimz):
       f = flat[i]
       b = struct.pack('f', f)
       file.write(b)
def save2grid3(filename,volume,dimx,dimy,dimz):
  flat=volume.reshape((dimx*dimy*dimz))
  with open(filename, "wb") as file:
       b = struct.pack('%sf' % len(flat), *flat)
       #b = struct.pack('f', f)
       file.write(b)

Friday, October 29, 2021

Houdini 18 - Changing temp directory

 

Setting temp directory

$ locate houdini.env

/home/cloud/houdini18.0/houdini.env

#
# Houdini Environment Settings
#
# The contents of this file are read into the environment
# at startup.  They will override any existing entries in
# the environment.
#
# The syntax is one entry per line as follows:
#    VAR = VALUE
#
# Values may be quoted
#    VAR = "VALUE"
#
# Values may be empty
#    VAR =  
#

# Example:
#
# HOUDINI_NO_SPLASH = 1


HOUDINI_TEMP_DIR = /home/cloud/.houdinitmp

 

 

Wednesday, October 27, 2021

DualSPHysics Simulation pipeline

 

First Step: Create geometry

[1] FreeCAD https://www.freecadweb.org/downloads.php

[2] Plugin DesignSPHysics https://github.com/DualSPHysics/DesignSPHysics

Second Step: Compile/Install DualSPHysics

[1] How to https://melhorum.blogspot.com/2019/07/dualsphysics.html

Third Step: Run smulation CPU or GPU

[1] ...

Fourth Step: Polygonize/Render

[1] ...

 

 

Thursday, August 19, 2021

OpenGL in Cuda Study

Starting

[1] https://www.geeksforgeeks.org/getting-started-with-opengl/

 


1) http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/

2) https://math.hws.edu/graphicsbook/c3/s4.html

 

 

Saturday, March 27, 2021

Houdini Courses

 

[1] https://www.cgcircuit.com/tutorial/houdini-basics-episode-i

 

Friday, March 26, 2021

Houdini18 topics

 

Import libraries

 

/opt/hfs18.0/python/lib/python2.7


 

Asset libraries

Digital assets are stored in digital asset library files, with a .hda extension. (Older versions of Houdini used a .otl extension.) Houdini loads any .hda (or .otl) files it finds in HOUDINIPATH/otls.

Steps:

 1) Create Subnet

 2) Define Parameters and Save .otl

References:

[1] creating an otl on Houdini18 https://www.sidefx.com/tutorials/getting-cozy-with-houdini-engine-lesson-3-creating-our-first-otl/ 

[2] Create digital assets https://www.sidefx.com/docs/houdini/assets/create.html

[2] https://www.youtube.com/watch?v=Q6U_q5PASiU


Tuesday, March 23, 2021

Rendering by Python 3

 

trimesh
trimesh-3.9.10-py3-none-any.whl

pyrender
pyrender-0.1.45-py3-none-any.whl

Dependences:
  PyOpenGL==3.1.0
  PyOpenGL-3.1.0.tar.gz

  pyglet>=1.4.10
  pyglet-1.5.15-py3-none-any.whl

  freetype-py
  freetype_py-2.1.0.post1-py2.py3-none-manylinux1_x86_64.whl
 



 

Wednesday, March 17, 2021

Python set right version to execute 3.6 3.7 3.8

 

 

https://tech.serhatteker.com/post/2019-12/upgrade-python38-on-ubuntu/

https://stackoverflow.com/questions/63823964/importerror-cannot-import-name-sysconfig-from-distutils-usr-lib-python3-8

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python3 get-pip.py --force-reinstall


ModuleNotFoundError: No module named 'apt_pkg' error
sudo apt-get remove python3-apt
sudo apt-get install python3-apt

 

 


ImportError: No module named OpenGL.GL

apt-get install python3-opengl
or  
pip3 install pyopengl --user

As well as:

sudo apt-get install python python-numpy python-opengl python-qt4 python-qt4-gl

 

 

 

 

Tuesday, March 02, 2021

3D Models (free)

 

[1] Gallery https://free3d.com/3d-models/toys?page=2


[2] Cat with Wings https://www.cgtrader.com/items/716159/download-page

Sunday, February 07, 2021

Poligonization tools

 

 

https://snorpey.github.io/triangulation/

https://polygonize.net/

 

 

Firefox open multiple private window

    /opt/firefox/firefox-bin --profile $(mktemp -d) --private-window www.google.com www.bing.com