Meaning of variable

Dear whom it may concern,

I have a question about the variable or terminology “Vibrante”. This word can usually be found in the code or cmake file.

  1. What’s the meaning of this word “vibrante” itself, Is it English?

  2. What’s the relationship of “vibrante” with “cross-compiling”? When we do cross-compiling, we use virbante_PDK:String. Is it just a codename of Nvidia?

  3. When VIBRANTE shows up in header files, such as in the sample “laneDetection” of DRIVE 10.0 SDK. Why ProgramArguments have different values if VIRBRANTE is defined? Moreover, in which file or command can I set VIRBRANTE is true or false?

int main(int argc, const char** argv)
{
    // define all arguments used by the application
    ProgramArguments args(argc, argv,
                          {
#ifdef VIBRANTE
                              ProgramArguments::Option_t("camera-type", "ar0231-rccb-bae-sf3324", "camera gmsl type (see sample_sensors_info for all available camera types on this platform)"),
                              ProgramArguments::Option_t("camera-group", "a", "input port"),
                              ProgramArguments::Option_t("camera-index", "0", "camera index within the camera-group 0-3"),
                              ProgramArguments::Option_t("slave", "0", "activate slave mode for Tegra B"),
                              ProgramArguments::Option_t("input-type", "video", "input type either video or camera"),
#endif
                              ProgramArguments::Option_t("dla", "0", "run inference on dla"),
                              ProgramArguments::Option_t("dlaEngineNo", "0", "dla engine to run LaneNet on if --dla=1"),
                              ProgramArguments::Option_t("video", (DataPath::get() + "/samples/laneDetection/video_lane.h264").c_str(), "path to video"),
                              ProgramArguments::Option_t("threshold", "0.3", "lane detection threshold"),
                              ProgramArguments::Option_t("network-precision", "FP32", "LaneNet model precision, restricted support for FP16 and INT8"),
                              ProgramArguments::Option_t("network-model", "multi", "LaneNet model output type, single class if --network-model=single"),
                              ProgramArguments::Option_t("useCudaGraph", "0", "switch to use Cuda Graph for infer"),
                          },
                          "LaneNet sample which detects lane markings.");

    LaneNetApp app(args);
    app.initializeWindow("LaneNet Sample", 1280, 800, args.enabled("offscreen"));
    if (!args.enabled("offscreen"))
        app.setProcessRate(30);
    return app.run();
}

Dear hanyang.zhyang,
Vibrante refers to code specific to target. You do not need to set it explicitly. The build system will set it to false when running on host. For example in the code snippet you have shared, camera-type, camera-index etc. are not applicable in case of host execution as you can not GSML camera and no port enumeration. So, in short you can write single piece of code which can work on both host and target by using this flag.

Hi SivRamaKrishna,

Thanks a lot for your feedback!