Difference between revisions of "Template:CUDA ISP for NVIDIA Jetson/Main contents"

From RidgeRun Developer Connection
Jump to: navigation, search
(What is CUDA ISP for NVIDIA Jetson?)
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{UnderConstruction}}
 
 
<br>
 
<br>
 
{| style="border-style: solid; border-width: 1px; margin: 10px;"
 
{| style="border-style: solid; border-width: 1px; margin: 10px;"
Line 19: Line 18:
 
|-
 
|-
 
| width="100%" valign="top" colspan="2"|
 
| width="100%" valign="top" colspan="2"|
 +
 +
{{NVIDIA Preferred Partner logo}}
  
 
This wiki is a user guide for our '''CUDA ISP for NVIDIA Jetson''' project. <br>
 
This wiki is a user guide for our '''CUDA ISP for NVIDIA Jetson''' project. <br>
Line 24: Line 25:
 
==What is CUDA ISP for NVIDIA Jetson?==
 
==What is CUDA ISP for NVIDIA Jetson?==
  
{{Review|I think we can do it better. We can focus more on what it does and why people do need it rather than focusing on the NVIDIA ISP. Let's focus on our product. We can just place one sentence that it can work as an alternative to the NVIDIA ISP|lleon}}
+
CUDA ISP is a RidgeRun library developed to provide an out-of-the-box image processing algorithms, focusing on easiness and performance. Since our library's CUDA algorithms run on the GPU, it reduces CPU usage, thus freeing its processing capacity for others applications. This library can also work with computers that do not have a built-in ISP, by adding a discrete GPU to the computer architecture. It is intended for programs that require a large amount of CPU usage.  It can also be used with GStreamer applications. 
  
CUDA ISP is a RidgeRun library developed to provide an alternative approach to image signal processing using CUDA rather than NVIDIA's Jetson ISP. Since our library's CUDA algorithms run on the GPU, they reduce the CPU usage. It is intended to be used in programs that require a large amount of CPU usage, so by using CUDA ISP, the CPU does not have to take into account the processing done by NVIDIA's Jetson ISP resulting in a better performance of the application by letting the GPU handle the processing. It can also be used with GStreamer applications. 
+
The algorithms provided by the CUDA ISP are:
  
The algorithms provided by the CUDA ISP are:
 
 
* Demosaic/Debayering
 
* Demosaic/Debayering
 
* Auto white balance
 
* Auto white balance
Line 47: Line 47:
 
CUDA ISP provides an alternative solution to reduce CPU usage by allowing the GPU handle the image processing.  
 
CUDA ISP provides an alternative solution to reduce CPU usage by allowing the GPU handle the image processing.  
  
* '''Application with large percentage of CPU usage'''
+
* '''Application with a large percentage of CPU usage'''
 
If you ever found yourself overloading the CPU processing capacity, the GPU can handle it via CUDA ISP.
 
If you ever found yourself overloading the CPU processing capacity, the GPU can handle it via CUDA ISP.
 
|-
 
|-
Line 58: Line 58:
  
 
* '''Computers with no ISP built-in'''
 
* '''Computers with no ISP built-in'''
Computers with x86 architecture does not have a built-in ISP. By adding a discrete GPU to the architecture, CUDA ISP can be used as an alternative processor.
+
Computers with x86 architecture do not have a built-in ISP. Adding a discrete GPU to the architecture allows CUDA ISP to be used as an alternative processor.
  
 
* '''Artificial intelligence applications'''
 
* '''Artificial intelligence applications'''
Developing artificial intelligence (AI) applications, such as computer vision, can require intensive computations in which the GPU can help with the processing.  
+
Developing artificial intelligence (AI) applications, such as computer vision, can require intensive computations in which the GPU can help with the processing. It is possible to find CUDA ISP working on a multi-GPU environment, where the ISP runs on a GPU and the AI applications on another one.
 
 
* '''Application with many plugged in cameras'''
 
Using cameras in applications require CPU processing for capturing images. Applications that may use many cameras can overload the CPU processing capacity affecting the performance of the CPU for non-related camera data processing. By letting the GPU handle the image processing of the cameras, the CPU can focus on processing data for the other elements in the application.
 
  
 
*'''Streaming applications'''
 
*'''Streaming applications'''
 
Streaming applications require lots of CPU processing as well. By letting the GPU handle it with CUDA ISP, the CPU will be freed for other processing tasks.
 
Streaming applications require lots of CPU processing as well. By letting the GPU handle it with CUDA ISP, the CPU will be freed for other processing tasks.
 +
 +
I am on a Jetson. Why should I use CUDA ISP?
 +
 +
* '''High-CPU usage'''
 +
 +
If you want to free your CPU from the ISP computation, you can use CUDA ISP.
 +
 +
* '''As NVIDIA ISP backup'''
 +
 +
Depending on your processing, the NVIDIA ISP may consume CPU due to additional processing. You can use CUDA ISP as an alternative.
 +
 +
* '''Flexibility'''
 +
 +
CUDA ISP is flexible and extensible. You can add more algorithms to perform ISP tasks. We can team up in your next project to speed up the ISP.
  
 
== Tested Platforms ==
 
== Tested Platforms ==
Line 77: Line 88:
 
** NVIDIA Jetson Nano
 
** NVIDIA Jetson Nano
 
** NVIDIA Jetson Xavier NX  
 
** NVIDIA Jetson Xavier NX  
 +
 +
== CUDA ISP Purchase ==
 +
 +
<center>
 +
<table>
 +
<tr>
 +
<td>
 +
<html>
 +
<div id='product-component-1680122401703'></div>
 +
<script type="text/javascript">
 +
/*<![CDATA[*/
 +
(function () {
 +
  var scriptURL = 'https://sdks.shopifycdn.com/buy-button/latest/buy-button-storefront.min.js';
 +
  if (window.ShopifyBuy) {
 +
    if (window.ShopifyBuy.UI) {
 +
      ShopifyBuyInit();
 +
    } else {
 +
      loadScript();
 +
    }
 +
  } else {
 +
    loadScript();
 +
  }
 +
  function loadScript() {
 +
    var script = document.createElement('script');
 +
    script.async = true;
 +
    script.src = scriptURL;
 +
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(script);
 +
    script.onload = ShopifyBuyInit;
 +
  }
 +
  function ShopifyBuyInit() {
 +
    var client = ShopifyBuy.buildClient({
 +
      domain: 'ridgerun1.myshopify.com',
 +
      storefrontAccessToken: 'b0ca98633a82de5d2f63cd51f5af30ac',
 +
    });
 +
    ShopifyBuy.UI.onReady(client).then(function (ui) {
 +
      ui.createComponent('product', {
 +
        id: '7814133776571',
 +
        node: document.getElementById('product-component-1680122401703'),
 +
        moneyFormat: '%24%7B%7Bamount%7D%7D',
 +
        options: {
 +
  "product": {
 +
    "styles": {
 +
      "product": {
 +
        "@media (min-width: 601px)": {
 +
          "max-width": "calc(25% - 20px)",
 +
          "margin-left": "20px",
 +
          "margin-bottom": "50px"
 +
        }
 +
      },
 +
      "button": {
 +
        "font-family": "Open Sans, sans-serif",
 +
        "font-weight": "bold",
 +
        "font-size": "18px",
 +
        "padding-top": "17px",
 +
        "padding-bottom": "17px",
 +
        ":hover": {
 +
          "background-color": "#0187a7"
 +
        },
 +
        "background-color": "#0196ba",
 +
        ":focus": {
 +
          "background-color": "#0187a7"
 +
        },
 +
        "border-radius": "5px",
 +
        "padding-left": "50px",
 +
        "padding-right": "50px"
 +
      },
 +
      "quantityInput": {
 +
        "font-size": "18px",
 +
        "padding-top": "17px",
 +
        "padding-bottom": "17px"
 +
      }
 +
    },
 +
    "text": {
 +
      "button": "Add to cart"
 +
    },
 +
    "googleFonts": [
 +
      "Open Sans"
 +
    ]
 +
  },
 +
  "productSet": {
 +
    "styles": {
 +
      "products": {
 +
        "@media (min-width: 601px)": {
 +
          "margin-left": "-20px"
 +
        }
 +
      }
 +
    }
 +
  },
 +
  "modalProduct": {
 +
    "contents": {
 +
      "img": false,
 +
      "imgWithCarousel": true,
 +
      "button": false,
 +
      "buttonWithQuantity": true
 +
    },
 +
    "styles": {
 +
      "product": {
 +
        "@media (min-width: 601px)": {
 +
          "max-width": "100%",
 +
          "margin-left": "0px",
 +
          "margin-bottom": "0px"
 +
        }
 +
      },
 +
      "button": {
 +
        "font-family": "Open Sans, sans-serif",
 +
        "font-weight": "bold",
 +
        "font-size": "18px",
 +
        "padding-top": "17px",
 +
        "padding-bottom": "17px",
 +
        ":hover": {
 +
          "background-color": "#0187a7"
 +
        },
 +
        "background-color": "#0196ba",
 +
        ":focus": {
 +
          "background-color": "#0187a7"
 +
        },
 +
        "border-radius": "5px",
 +
        "padding-left": "50px",
 +
        "padding-right": "50px"
 +
      },
 +
      "quantityInput": {
 +
        "font-size": "18px",
 +
        "padding-top": "17px",
 +
        "padding-bottom": "17px"
 +
      }
 +
    },
 +
    "googleFonts": [
 +
      "Open Sans"
 +
    ]
 +
  },
 +
  "option": {},
 +
  "cart": {
 +
    "styles": {
 +
      "button": {
 +
        "font-family": "Open Sans, sans-serif",
 +
        "font-weight": "bold",
 +
        "font-size": "18px",
 +
        "padding-top": "17px",
 +
        "padding-bottom": "17px",
 +
        ":hover": {
 +
          "background-color": "#0187a7"
 +
        },
 +
        "background-color": "#0196ba",
 +
        ":focus": {
 +
          "background-color": "#0187a7"
 +
        },
 +
        "border-radius": "5px"
 +
      },
 +
      "title": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "header": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "lineItems": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "subtotalText": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "subtotal": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "notice": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "currency": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "close": {
 +
        "color": "#4c4c4c",
 +
        ":hover": {
 +
          "color": "#4c4c4c"
 +
        }
 +
      },
 +
      "empty": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "noteDescription": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "discountText": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "discountIcon": {
 +
        "fill": "#4c4c4c"
 +
      },
 +
      "discountAmount": {
 +
        "color": "#4c4c4c"
 +
      }
 +
    },
 +
    "googleFonts": [
 +
      "Open Sans"
 +
    ]
 +
  },
 +
  "toggle": {
 +
    "styles": {
 +
      "toggle": {
 +
        "font-family": "Open Sans, sans-serif",
 +
        "font-weight": "bold",
 +
        "background-color": "#0196ba",
 +
        ":hover": {
 +
          "background-color": "#0187a7"
 +
        },
 +
        ":focus": {
 +
          "background-color": "#0187a7"
 +
        }
 +
      },
 +
      "count": {
 +
        "font-size": "18px"
 +
      }
 +
    },
 +
    "googleFonts": [
 +
      "Open Sans"
 +
    ]
 +
  },
 +
  "lineItem": {
 +
    "styles": {
 +
      "variantTitle": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "title": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "price": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "fullPrice": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "discount": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "discountIcon": {
 +
        "fill": "#4c4c4c"
 +
      },
 +
      "quantity": {
 +
        "color": "#4c4c4c"
 +
      },
 +
      "quantityIncrement": {
 +
        "color": "#4c4c4c",
 +
        "border-color": "#4c4c4c"
 +
      },
 +
      "quantityDecrement": {
 +
        "color": "#4c4c4c",
 +
        "border-color": "#4c4c4c"
 +
      },
 +
      "quantityInput": {
 +
        "color": "#4c4c4c",
 +
        "border-color": "#4c4c4c"
 +
      }
 +
    }
 +
  }
 +
},
 +
      });
 +
    });
 +
  }
 +
})();
 +
/*]]>*/
 +
</script>
 +
</html>
 +
<td>
 +
{{spaces|75}}<div align="right">{{ContactUs Button}}</div>
 +
<td>
 +
</td>
 +
</tr></table>
 +
</center>
 +
  
 
<br>
 
<br>

Latest revision as of 15:50, 29 March 2023


CUDA ISP for NVIDIA Jetson!

CUDA ISP for NVIDIA Jetson Plugin from RidgeRun.




CUDA ISP for NVIDIA Jetson

Nvidia-preferred-partner-badge-rgb-for-screen.png

This wiki is a user guide for our CUDA ISP for NVIDIA Jetson project.

What is CUDA ISP for NVIDIA Jetson?

CUDA ISP is a RidgeRun library developed to provide an out-of-the-box image processing algorithms, focusing on easiness and performance. Since our library's CUDA algorithms run on the GPU, it reduces CPU usage, thus freeing its processing capacity for others applications. This library can also work with computers that do not have a built-in ISP, by adding a discrete GPU to the computer architecture. It is intended for programs that require a large amount of CPU usage. It can also be used with GStreamer applications.

The algorithms provided by the CUDA ISP are:

  • Demosaic/Debayering
  • Auto white balance
  • Shifting

In the image below you can see the software stack of the library.




Error creating thumbnail: Unable to save thumbnail to destination




RidgeRun also makes a binary-only evaluation version available. Please refer to Contact Us to get an evaluation binary.

Use cases

CUDA ISP provides an alternative solution to reduce CPU usage by allowing the GPU handle the image processing.

  • Application with a large percentage of CPU usage

If you ever found yourself overloading the CPU processing capacity, the GPU can handle it via CUDA ISP.




Error creating thumbnail: Unable to save thumbnail to destination




  • Computers with no ISP built-in

Computers with x86 architecture do not have a built-in ISP. Adding a discrete GPU to the architecture allows CUDA ISP to be used as an alternative processor.

  • Artificial intelligence applications

Developing artificial intelligence (AI) applications, such as computer vision, can require intensive computations in which the GPU can help with the processing. It is possible to find CUDA ISP working on a multi-GPU environment, where the ISP runs on a GPU and the AI applications on another one.

  • Streaming applications

Streaming applications require lots of CPU processing as well. By letting the GPU handle it with CUDA ISP, the CPU will be freed for other processing tasks.

I am on a Jetson. Why should I use CUDA ISP?

  • High-CPU usage

If you want to free your CPU from the ISP computation, you can use CUDA ISP.

  • As NVIDIA ISP backup

Depending on your processing, the NVIDIA ISP may consume CPU due to additional processing. You can use CUDA ISP as an alternative.

  • Flexibility

CUDA ISP is flexible and extensible. You can add more algorithms to perform ISP tasks. We can team up in your next project to speed up the ISP.

Tested Platforms

Since CUDA ISP is a C++ library, it can be run on different platforms:

  • x86-64 (Linux) with discrete GPU added.
    • Intel-based systems
    • AMD-based systems
  • ARM 64-bit (Linux)
    • NVIDIA Jetson Nano
    • NVIDIA Jetson Xavier NX

CUDA ISP Purchase

                                                                           
RR Contact Us.png



RidgeRun Support

RidgeRun provides support for embedded Linux development for NVIDIA, Xilinx, Freescale/NXP, and Texas Instruments platforms, specializing in multimedia applications. This page contains detailed guides and information on how to get started with the CUDA ISP for NVIDIA Jetson and start using its full capabilities.

To get up-to-speed with your CUDA ISP for NVIDIA Jetson, start by clicking below:

Error creating thumbnail: Unable to save thumbnail to destination



RidgeRun Resources

Quick Start Client Engagement Process RidgeRun Blog Homepage
Technical and Sales Support RidgeRun Online Store RidgeRun Videos Contact Us

OOjs UI icon message-progressive.svg Contact Us

Visit our Main Website for the RidgeRun Products and Online Store. RidgeRun Engineering informations are available in RidgeRun Professional Services, RidgeRun Subscription Model and Client Engagement Process wiki pages. Please email to support@ridgerun.com for technical questions and contactus@ridgerun.com for other queries. Contact details for sponsoring the RidgeRun GStreamer projects are available in Sponsor Projects page. Ridgerun-logo.svg
RR Contact Us.png
Error creating thumbnail: Unable to save thumbnail to destination