{
  "id": 436204,
  "title": "Configuration is at the graph-level",
  "url": "/competitions/predict-ai-model-runtime/discussion/436204",
  "author_name": "MikeHonkers",
  "post_date": "2023-09-01T10:37:42.837000",
  "votes": 4,
  "comment_count": 4,
  "views": 0,
  "content": "<p>Hello, kagglers. Please help me to understand what does \"Configuration is at the graph-level\" means.  Doesn't vector of configuration describe augmentations of bounds of input, output and kernel tensors of nn without specifying any nodes? I can't get it, where is the actual graph here. </p>\n<p>(my main language isn't eng)</p>",
  "messages": [
    {
      "id": 2418519,
      "postDate": "2023-09-01T10:37:42.837Z",
      "content": "<p>Hello, kagglers. Please help me to understand what does \"Configuration is at the graph-level\" means.  Doesn't vector of configuration describe augmentations of bounds of input, output and kernel tensors of nn without specifying any nodes? I can't get it, where is the actual graph here. </p>\n<p>(my main language isn't eng)</p>",
      "rawMarkdown": "Hello, kagglers. Please help me to understand what does \"Configuration is at the graph-level\" means.  Doesn't vector of configuration describe augmentations of bounds of input, output and kernel tensors of nn without specifying any nodes? I can't get it, where is the actual graph here. \n\n(my main language isn't eng)",
      "votes": 3
    },
    {
      "id": 2418531,
      "postDate": "2023-09-01T10:54:22.303Z",
      "content": "<p>****\"Configuration is at the graph-level\" **** typically refers to the idea that certain settings or parameters in a computational system or framework are applied globally to the entire computational graph, rather than at the individual operation or node level. Let's break down this concept further:</p>\n<p><strong>Graph-Level Configuration</strong>: In many computational frameworks, especially those used for machine learning and deep learning, computations are often organized as computational graphs. These graphs represent the flow of data and operations from input to output. The term \"graph-level\" refers to settings or configurations that affect the entire graph, regardless of the specific operations or nodes within it.</p>\n<p><strong><em><em>Settings and Parameters:</em></em></strong> These graph-level configurations can include various settings or parameters that influence how the graph behaves during execution. Examples of such configurations might include:</p>\n<p><strong>Device Placement:</strong> You can specify whether the graph should run on a CPU or a specific GPU. This is a graph-level decision because it applies to all operations within the graph.</p>\n<p><strong>Precision:</strong> You can set the data type precision for the entire graph, specifying whether it should use 32-bit floating-point numbers (float32) or 16-bit (float16), for example.</p>\n<p>Global Learning Rate: In machine learning models, you might set a global learning rate that applies to all layers or weights in the neural network.</p>\n<p><strong>Distributed Computing Strategy:</strong> In distributed computing setups, you can configure how the graph is distributed across multiple machines or nodes.</p>\n<p><strong>Impact:</strong> Making configurations at the graph level has a significant impact because these settings apply uniformly to all operations and nodes within the graph. It simplifies the process of setting global behavior or defaults for your computational model.</p>\n<p><strong>Flexibility:</strong> However, it's important to note that some frameworks also allow for more granular control, allowing you to override graph-level configurations at the operation or node level when needed. This provides flexibility for fine-tuning specific parts of the computation.</p>\n<p>In summary, the statement \"Configuration is at the graph-level\" emphasizes the idea that certain settings or parameters are applied globally to the entire computational graph, simplifying the management of these settings but potentially limiting fine-grained control in some cases. The specific meaning and implementation may vary depending on the context of the computational framework being used.</p>",
      "rawMarkdown": "****\"Configuration is at the graph-level\" **** typically refers to the idea that certain settings or parameters in a computational system or framework are applied globally to the entire computational graph, rather than at the individual operation or node level. Let's break down this concept further:\n\n**Graph-Level Configuration**: In many computational frameworks, especially those used for machine learning and deep learning, computations are often organized as computational graphs. These graphs represent the flow of data and operations from input to output. The term \"graph-level\" refers to settings or configurations that affect the entire graph, regardless of the specific operations or nodes within it.\n\n****Settings and Parameters:**** These graph-level configurations can include various settings or parameters that influence how the graph behaves during execution. Examples of such configurations might include:\n\n**Device Placement:** You can specify whether the graph should run on a CPU or a specific GPU. This is a graph-level decision because it applies to all operations within the graph.\n\n**Precision:** You can set the data type precision for the entire graph, specifying whether it should use 32-bit floating-point numbers (float32) or 16-bit (float16), for example.\n\nGlobal Learning Rate: In machine learning models, you might set a global learning rate that applies to all layers or weights in the neural network.\n\n**Distributed Computing Strategy:** In distributed computing setups, you can configure how the graph is distributed across multiple machines or nodes.\n\n**Impact:** Making configurations at the graph level has a significant impact because these settings apply uniformly to all operations and nodes within the graph. It simplifies the process of setting global behavior or defaults for your computational model.\n\n**Flexibility:** However, it's important to note that some frameworks also allow for more granular control, allowing you to override graph-level configurations at the operation or node level when needed. This provides flexibility for fine-tuning specific parts of the computation.\n\nIn summary, the statement \"Configuration is at the graph-level\" emphasizes the idea that certain settings or parameters are applied globally to the entire computational graph, simplifying the management of these settings but potentially limiting fine-grained control in some cases. The specific meaning and implementation may vary depending on the context of the computational framework being used.",
      "votes": 2,
      "replies": [
        {
          "id": 2418723,
          "postDate": "2023-09-01T13:36:03.023Z",
          "content": "<p>Thank you for the detailed reply. It was realy helpful.</p>",
          "rawMarkdown": "Thank you for the detailed reply. It was realy helpful.",
          "replies": [
            {
              "id": 2419131,
              "postDate": "2023-09-01T17:39:01.043Z",
              "rawMarkdown": "",
              "isDeleted": true
            }
          ]
        },
        {
          "id": 2419132,
          "postDate": "2023-09-01T17:39:31.500Z",
          "content": "<p>In particular, each graph in the tile collection represents a fused kernel (usually a small graph), and the tile size configuration applies to all node in the graph. Whereas in the layout collections, each graph represents an entire program usually very large), and the layout configuration of the graph is a set of per-node layout configurations.</p>",
          "rawMarkdown": "In particular, each graph in the tile collection represents a fused kernel (usually a small graph), and the tile size configuration applies to all node in the graph. Whereas in the layout collections, each graph represents an entire program usually very large), and the layout configuration of the graph is a set of per-node layout configurations."
        }
      ]
    }
  ],
  "comments": [
    {
      "id": 2418531,
      "author_name": "Faysal Miah",
      "author_url": "",
      "post_date": "2023-09-01T10:54:22.303000",
      "content": "<p>****\"Configuration is at the graph-level\" **** typically refers to the idea that certain settings or parameters in a computational system or framework are applied globally to the entire computational graph, rather than at the individual operation or node level. Let's break down this concept further:</p>\n<p><strong>Graph-Level Configuration</strong>: In many computational frameworks, especially those used for machine learning and deep learning, computations are often organized as computational graphs. These graphs represent the flow of data and operations from input to output. The term \"graph-level\" refers to settings or configurations that affect the entire graph, regardless of the specific operations or nodes within it.</p>\n<p><strong><em><em>Settings and Parameters:</em></em></strong> These graph-level configurations can include various settings or parameters that influence how the graph behaves during execution. Examples of such configurations might include:</p>\n<p><strong>Device Placement:</strong> You can specify whether the graph should run on a CPU or a specific GPU. This is a graph-level decision because it applies to all operations within the graph.</p>\n<p><strong>Precision:</strong> You can set the data type precision for the entire graph, specifying whether it should use 32-bit floating-point numbers (float32) or 16-bit (float16), for example.</p>\n<p>Global Learning Rate: In machine learning models, you might set a global learning rate that applies to all layers or weights in the neural network.</p>\n<p><strong>Distributed Computing Strategy:</strong> In distributed computing setups, you can configure how the graph is distributed across multiple machines or nodes.</p>\n<p><strong>Impact:</strong> Making configurations at the graph level has a significant impact because these settings apply uniformly to all operations and nodes within the graph. It simplifies the process of setting global behavior or defaults for your computational model.</p>\n<p><strong>Flexibility:</strong> However, it's important to note that some frameworks also allow for more granular control, allowing you to override graph-level configurations at the operation or node level when needed. This provides flexibility for fine-tuning specific parts of the computation.</p>\n<p>In summary, the statement \"Configuration is at the graph-level\" emphasizes the idea that certain settings or parameters are applied globally to the entire computational graph, simplifying the management of these settings but potentially limiting fine-grained control in some cases. The specific meaning and implementation may vary depending on the context of the computational framework being used.</p>",
      "votes": 2,
      "replies": [
        {
          "id": 2418723,
          "author_name": "MikeHonkers",
          "author_url": "",
          "post_date": "2023-09-01T13:36:03.023000",
          "content": "<p>Thank you for the detailed reply. It was realy helpful.</p>",
          "votes": 0,
          "replies": [
            {
              "id": 2419131,
              "author_name": "",
              "author_url": "",
              "post_date": "2023-09-01T17:39:01.043000",
              "content": "",
              "votes": 0,
              "replies": []
            }
          ]
        },
        {
          "id": 2419132,
          "author_name": "Mangpo Phothilimthana",
          "author_url": "",
          "post_date": "2023-09-01T17:39:31.500000",
          "content": "<p>In particular, each graph in the tile collection represents a fused kernel (usually a small graph), and the tile size configuration applies to all node in the graph. Whereas in the layout collections, each graph represents an entire program usually very large), and the layout configuration of the graph is a set of per-node layout configurations.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2418519": "Hello, kagglers. Please help me to understand what does \"Configuration is at the graph-level\" means.  Doesn't vector of configuration describe augmentations of bounds of input, output and kernel tensors of nn without specifying any nodes? I can't get it, where is the actual graph here. \n\n(my main language isn't eng)",
    "2418531": "****\"Configuration is at the graph-level\" **** typically refers to the idea that certain settings or parameters in a computational system or framework are applied globally to the entire computational graph, rather than at the individual operation or node level. Let's break down this concept further:\n\n**Graph-Level Configuration**: In many computational frameworks, especially those used for machine learning and deep learning, computations are often organized as computational graphs. These graphs represent the flow of data and operations from input to output. The term \"graph-level\" refers to settings or configurations that affect the entire graph, regardless of the specific operations or nodes within it.\n\n****Settings and Parameters:**** These graph-level configurations can include various settings or parameters that influence how the graph behaves during execution. Examples of such configurations might include:\n\n**Device Placement:** You can specify whether the graph should run on a CPU or a specific GPU. This is a graph-level decision because it applies to all operations within the graph.\n\n**Precision:** You can set the data type precision for the entire graph, specifying whether it should use 32-bit floating-point numbers (float32) or 16-bit (float16), for example.\n\nGlobal Learning Rate: In machine learning models, you might set a global learning rate that applies to all layers or weights in the neural network.\n\n**Distributed Computing Strategy:** In distributed computing setups, you can configure how the graph is distributed across multiple machines or nodes.\n\n**Impact:** Making configurations at the graph level has a significant impact because these settings apply uniformly to all operations and nodes within the graph. It simplifies the process of setting global behavior or defaults for your computational model.\n\n**Flexibility:** However, it's important to note that some frameworks also allow for more granular control, allowing you to override graph-level configurations at the operation or node level when needed. This provides flexibility for fine-tuning specific parts of the computation.\n\nIn summary, the statement \"Configuration is at the graph-level\" emphasizes the idea that certain settings or parameters are applied globally to the entire computational graph, simplifying the management of these settings but potentially limiting fine-grained control in some cases. The specific meaning and implementation may vary depending on the context of the computational framework being used."
  }
}