問題タブ [offloading]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gcc - Gcc オフロードのコンパイル オプション
gcc-10、Ubuntu 18.04 の CUDA 11、およびこの CMakeLists.txt ファイル (または OpenMP バージョン) を使用して、GPU オフロードで最も単純な OpenMP または OpenACC C++ プログラムを構築しようとしています。
ビルドは次のエラーで失敗します:
GPU アーキテクチャを定義するフラグが欠落していると思われますが、関連するドキュメントが見つかりません。GCC でのオフロードのサポート: コンパイル オプションには Nvidia の例がなく、最善の推測-foffload="-arch=sm_75"
またはを試してみると、次の-foffload=nvidia-"-arch=sm_75"
ようになります。
手がかりや関連リンクは高く評価されます。
hash - DPDK - RSS オフロード (ハッシュ計算): ETH_RSS_IPV6_EX - 説明
そのため、現在、Receive Side Scaling (RSS) オフロードが DPDK (Data Plane Development Kit) 内で機能する方法を理解することに取り組んでいます。したがって、基本的に、選択したオフロードに応じて、ハッシュ値を計算し、それを使用して、特定の CPU コアにバインドされている特定のキューにパケットを配置します。
したがって、これに関して2つのクエリがあります。
の RSS オフロードを使用すると
**ETH_RSS_IPV6_EX**
、0 以外のハッシュ値を取得できません。これは、Mellanox カードがこのオフロードをサポートしているにもかかわらず、選択した RSS オフロードに従ってパケットが無効と見なされることを意味します。次の Scapy パケットを送信しましたが、まだハッシュが 0 になりつつあります:sendp(Ether(dst="AA:AA:BB:BB:CC:DD")/IPv6(dst="a:a:a:a:a:a:a:b",src="a:a:a:a:a:a:a:c",nh=60)/IPv6ExtHdrDestOpt(nh=43,options=HAO(hoa="a:a:a:a:a:a:a:d"))/IPv6ExtHdrRouting(nh=59,type=2,addresses=["a:a:a:a:a:a:a:e"]),iface="enp4s0f0",count=1)
. (どのパケットを操作するかについて、https://docs.microsoft.com/en-us/windows-hardware/drivers/network/rss-hashing-types#ndis_hash_ipv6_exからこのリソースを取得しましたが、これらの RSS オフロードと DPDK が持っているもの。) このEX用語は、RSS オフロードで何を意味しますか。それとは別に、DPDK 内にある RSS オフロードを一度に 1 つずつ説明しているリソースを教えてもらえますか?参考になります):
ご不明な点がございましたら、お気軽にお問い合わせください。
前もって感謝します。
Edit_1 (Vipin のコメントに応えて):
この構造 (ETH_RSS_IPV6_EX) で RSS を有効にしています。
static struct rte_eth_conf port_conf = { .rxmode = { .mq_mode = ETH_MQ_RX_RSS, .max_rx_pkt_len = RTE_ETHER_MAX_LEN, .split_hdr_size = 0, .offloads = DEV_RX_OFFLOAD_CHECKSUM, }, .rx_adv_conf = { .rss_conf = { .rss_key = .rss_key = ETH_VRSh6, = . //ETH_RSS_IP //オリジナル、//AU: ハッシュ アプリケーションの変更 }, }, .txmode = { .mq_mode = ETH_MQ_TX_NONE, }, };
私が使用している DPDK バージョンは 20.08 です。
使用されている NIC は Mellanox ConnectX-5 です
DPDK l3fwd アプリケーションをベースとして使用し、それをテストしています。