PIX4Dengine CLI - Obsolete

How to use Pix4Dmapper on the Cloud with Amazon AWS EC2 Services

Warning:This article refers to the command line interface (CLI) and not to the newest version of Pix4Dengine SDK.
We highly recommend migrating to the Pix4Dengine SDK. To get access to the latest documentation please visit Pix4Dengine Server SDK.
Note: Online processing services have to be used with a Pix4Dmapper Enterprise Server License in a Linux and Windows environment.

It is possible to run Pix4Dmapper on Amazon EC2 services to process images, as well as to use the rayCloud to edit and improve the results.

The processing can be performed on any EC2 instances type. However, CUDA processing and rayCloud visualization/editing can only be performed with GPU EC2 instances. As GPU instances are twice as expensive as compute instances, a possible solution is to perform the processing on a compute instance, save the results on EBS/S3, and load the project on a GPU instance.

https://aws.amazon.com/ec2/instance-types/

Processing (any instances)

Pix4Dmapper can run on most Windows EC2 instances, but we recommend using instances optimized for computing such as c4.4xlarge or c4.8xlarge that provide sufficient CPU and RAM. Everything is available as on the desktop computer (processing, Map View, Mosaic Editor, Index Calculator), except the rayCloud 3D interface and CUDA computing that require a GPU instance (see below).

Instructions to run Pix4Dmapper on EC2:

1. Create an EC2 instance using the default Windows server AMI following tutorial.
2. Connect to it through RDP (this is explained in the AMI tutorial above).
3. To ease the downloading and installing of files, you might want to disable IE Enhanced Security, as per these instructions.
4. Install Pix4Dmapper and start processing:

Note: A popup with error code e0094 ( Error e0094: It was not possible to initialize OpenGL.) will appear and the rayCloud will not be able open: this is to be expected.

5. Visualize and edit the results in the Mosaic Editor or Index Calculator.
6. Share the results using any file sharing service such as FTP, Dropbox or S3.

CUDA Processing & Visualizing (GPU instances)

There are currently two GPU instances: g2.2xlarge and g2.8xlarge. The first one has limited CPU power and is not recommended for heavy processing, only for visualization. The second one is nearly as powerful as the fastest compute instance, but is also twice as expensive. The first one can be 2-4 times slower than the second one for most projects.

Instructions to run:

1. Create a GPU EC2 instance, similarly to the instructions above. The instance type must have a GPU.
2. Connect to this instance through the Remote Desktop Protocol.
3. Install TeamViewer and configure unattended access according to the instructions found here.
4. Install the NVIDIA drivers for the GPU. The model is GRID K520 and the drivers can be found here.
5. Reboot the server. You can now login through Teamviewer instead of RDP.
6. In the Windows Device Manager, disable and uninstall the default entries for the Display adapters. The associated files must be forcefully removed by running the following commands in the Windows Powershell:

takeown /f C:\Windows\System32\Drivers\BasicDisplay.sys
echo Y | cacls C:\Windows\System32\Drivers\BasicDisplay.sys /G Administrator:F
del C:\Windows\System32\Drivers\BasicDisplay.sys

Then:

1. Reboot the server.
2. Login to the server using Teamviewer.
3. (Optional) Open Pix4Dmapper and visualize the rayCloud.