GPU Compute with AMD for Cycles Render in Blender

Standard

Blender a free open source 3d animation software that is used for various 3d creations and ships with it’s Cycles Renderer which is a really powerful rendering engine which supports both CPU and GPU rendering, until Blender 2.75a was released, It only supported Nvidia graphics cards for GPU Compute that supports CUDA. In 2.75a that introduced most awaited feature, AMD Graphics card support, which meant now that you no longer needed to set Open CL test flags, you could just directly set you AMD Graphics Card from the Blender User Preference panel and set the project to GPU Compute and render with your Graphics card instead of using CPU on your AMD Graphics card powered system. This lets the user have more options over hardware and graphics card choices, so people can build better systems for rendering with a wider choice of hardware. Here is the list of AMD GPU supported by Cycles Render

Enabling GPU Compute in Blender

You need to have the latest graphics card driver for the card installed in your system and Blender 2.75a or higher. You can download the latest copy of Blender from here Go to File > Blender User Preference

blender-user-preferences-tabs

Go to System tab

Blender File User Preference

If your Graphics card is supported you should find an OpenCL tab near None(set as CPU)

blender-user-preferences-render-default-cpu-option

Choose your Graphics card, you will get a list of the Graphics cards, if you have one or more it will list those too, choose them in different combination to see what works best for you.

blender-user-preferences-devices-option
GPU Compute with AMD for Cycles Render in Blender Image 1

Now save your user settings(that will be found in the left bottom side of the window). You will get a GPU Compute option in your render panel once you set OpenCL to use you Graphics card. The drop down should look something like this.

blender-render-device-options

You can now render your project with your AMD Graphics card in Blender. Thank you for rendering(reading), If you have any question leave a comment below.

AMD support in Blender

Standard

Cycles render in Blender for a very long time has been supporting GPU compile, GPU Compute option is like a switch it lets you switch to your dedicated Graphics Card if your system has one for rendering. GPU Compile can be faster than CPU rendering, depending on your system configuration, this means it would take lesser time to render and the rendering task is done by a separate hardware optimised for rendering, this can also help reduce the viewport lag, because the CPU is not in use and can let you do minor changes faster in real time.

GPU Compute has been my long time favorite and was always set to default in my projects while setting up rendering, which at that time only supported Nvidia Graphics Cards that supported CUDA. Until I had switched to a MacBook Pro 15 2015 (with dedicated graphics), which came with an AMD Radeon R9 M370X. To enable GPU compile for the AMD graphics card on the mac you needed to use OpenCL test flags, until release 27.5.

You can learn how to enable GPU compute . Blender 2.76a came with support for AMD Graphics card, that used OpenCL and supported the following Graphics cards, this meant, I could finally use GPU Compile and render my projects with the Graphics Card, this was not very stable and had issues like loading of the rendering Kernel and other strange bugs, until Blender 2.76b which improved the stability by a larger number and now would render most of my scenes with crashing. It still needs a lot of improvement until it could be used in production on a large scale, but it is nice to see support for AMD Graphics card, this lets users have a wider choice of Graphics card option and support.

I still use my Alienware M17 for rendering, which comes with Nvidia Graphics card (Nvidia GTX 580M).

You could also go with a preview or viewport render, if you want quick result or if you GPU is not very fast.

Thank you for rendering, If you have any question feel free to leave a comment below.

Gogs on CentOS

Standard

Gogs also known as Go Git Server is an open source cross-platform self-hosted Git server written in Golang, similar to the GitLab which is written in Ruby.

It is easy to install and configure and offers a lot of customization options while installing, it lets you choose between MySQL, SQLite, and PostgreSQL as a Database backend. It is also one of the lightest and fastest self-hosted Git server solutions, it does not offer a lot of features like GitLab, but whatever it offers, it does it without pain. If you don’t already have a CentOS server, you can get a VPS on Digital Ocean, by signing up with this referral you get $10 credit and I get $25 credit. Installing Gogs is easy it’s available as a pre-compiled package from Packager. It receives updates like every other package you would install on your system. So you can do the setup once and receive an update on new builds. This setup being pre-build, might not support SQLite, for this guide, I am using MariaDB. You can use PostgreSQL over MariaDB if you prefer it.

https://darryldias.me/2016/gogs-debian/

Getting started.

Adding Gogs repository key.

sudo rpm --import https://rpm.packager.io/key  

Add Gogs packager.io repository to your local packages database.

echo "[gogs]  
name=Repository for pkgr/gogs application.  
baseurl=https://rpm.packager.io/gh/pkgr/gogs/centos7/pkgr  
enabled=1" | sudo tee /etc/yum.repos.d/gogs.repo  

Installing Gogs

sudo yum install gogs

Installing MySQL

sudo yum install mysql-server -y  

Setting up MySQL

sudo mysql_secure_installation  

Logging into MySQL console.

mysql -u root -p  
CREATE DATABASE gogs;  

Exiting MySQL console.

exit  

Installing NGINX to reverse proxy Gogs to port 80.

sudo rpm -Uhv http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm  
sudo yum install -y nginx  

Editing the NGINX config /etc/nginx/conf.d/default.conf

sudo nano /etc/nginx/conf.d/default.conf  

Add the following lines to your NGINX config.

server {  
listen          80;  
  server_name     ${HOSTNAME};
  location / {
    proxy_pass      http://localhost:3000;
  }
}

Restart NGINX.

sudo service nginx restart  

You can access the newly setup Gogs Server at http://127.0.0.1/, and further configure it to your preference and create your new user, you can now store your projects on your private Git server. Have a question, leave a comment below.

Gogs on Debian

Standard

Gogs also known as Go Git Server is an open source cross-platform self-hosted Git server written in Golang, similar to the GitLab which is written in Ruby. It is easy to install and configure and offers a lot of customization options while installing, it lets you choose between MySQL, SQLite, and PostgreSQL as a Database backend. It is also one of the lightest and fastest self-hosted Git server solution, it does not offer a lot of features like GitLab, but whatever it offers, it does it without pain. If you don’t already have a Debian server, you can get a VPS on Digital Ocean, by signing up with this referral you get $10 credit and I get $25 credit. Installing Gogs is easy it’s available as a pre-compiled package from Packager. It receives updates like every other package you would install on your system. So you can do the setup once and receive an update on new builds. This setup being pre-build, might not support SQLite, for this guide, I am using MariaDB. You can use PostgreSQL over MariaDB if you prefer it.

https://darryldias.me/2016/gogs-centos/

Getting started.

Adding Gogs repository key.

wget -qO - https://deb.packager.io/key | sudo apt-key add -

Add Gogs packager.io repository to your sources.list.d directory/ For Jessie

sudo echo "deb https://deb.packager.io/gh/pkgr/gogs jessie pkgr" | sudo tee /etc/apt/sources.list.d/gogs.list

For Wheezy

sudo echo "deb https://deb.packager.io/gh/pkgr/gogs wheezy pkgr" | sudo tee /etc/apt/sources.list.d/gogs.list

Updating local package database to fetch meta of the new repository.

sudo apt-get update

Installing Gogs

sudo apt-get install gogs

Adding MariaDB repository, choose the setup depending on the version of Debian you are using and the closest mirror you prefer, from here.

sudo apt-get update

Logging into MariaDB console.

mysql -u root -p

Creating a new Database for Gogs.

CREATE DATABASE gogs;

Exiting MySQL console.

exit

Installing NGINX to reverse proxy Gogs to port 80.

sudo apt-get install nginx-full

Editing the NGINX config /etc/nginx/sites-enabled/default

sudo nano /etc/nginx/sites-enabled/default

Add the following lines to your NGINX config.

server {
listen 80;
server_name yourhostname;location / {
proxy_pass http://127.0.0.1:3000;
    }
}

Restart NGINX.

sudo service nginx restart 

You can access the newly setup Gogs Server at http://127.0.0.1/, and further configure it to your preference and create your new user, you can now store your projects on your private Git server. Have a question, leave a comment below.