問題タブ [icc]

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.

0 投票する
3 に答える
1377 参照

linux - gcc、icc、またはMicrosoftのC / C ++コンパイラはNUMAをサポートまたは知っていますか?

キャッシュコヒーレントな 不均一メモリアクセス(NUMA)を備えたマルチプロセッサボードがある場合、つまり、プロセッサごとに個別のRAMを備えた個別の「ノースブリッジ」がある場合、コンパイラは、データをさまざまなメモリシステムに自動的に分散する方法を知っていますか?ローカルスレッドで動作しているプロセスは、ほとんどの場合、スレッドが実行されているプロセッサに関連付けられているRAMからデータを取得していますか?

1 GBがプロセッサ0に接続され、1GBがプロセッサ1に接続されるなどの設定があります。最大4つのプロセッサ。コヒーレントメモリ空間では、1番目のプロセッサのRAMの物理メモリはアドレス0〜1GB-1です。2番目のプロセッサの場合は1GBから2GB-1、というようになります。

malloc特定のコア上のプロセスによって割り当てられた新しいメモリを、そのコアに関連付けられた物理RAMに関連付けるコンパイラはありますか?

0 投票する
1 に答える
503 参照

unicode - インテル C コンパイラーと L"" プレフィックス

インテル C コンパイラーでロシア語の文字列を定義するにはどうすればよいですか? MSVS 2008 では、次のようにします。

そして、それは機能します。ICC では動作しません。

0 投票する
3 に答える
9500 参照

gcc - ICC vs GCC - 最適化と CPU アーキテクチャ

最適化レベルと特定のプロセッサ アーキテクチャへのケータリングに関して、GCC が Intel の ICC とどのように異なるかを知りたいと思っています。Linux には GCC 4.1.2 20070626 と ICC v11.1 を使用しています。

ICC の最適化レベル (O1 から O3) は、GCC とはまったく異なる場合、どのように異なりますか?

ICC は、さまざまなアーキテクチャ (IA-32、intel64、および IA-64) に特に対応できます。GCC に-marchは似ていると思われるコンパイラ オプションがあることを読みましたが、使用するオプションのリストが見つかりません。64 ビットの Intel Xeon X5570 を使用しています。アプリケーションを 64 ビット Intel CPU に対応させるために使用できる GCC コンパイラ オプションは他にありますか?

0 投票する
1 に答える
127 参照

linux - コンパイラを GCC 3.4.2 から GCC 4.4.2 または ICC に切り替える場合、何に注意する必要がありますか?

私が取り組んでいるプロジェクトは、GCC 3.4.2 でコンパイルされています。新しいコンパイラへの切り替えを検討しています。しかし、プロジェクトは、リスクが十分に知られていない場合、大きな変更を加えない段階にあります。

コンパイラを切り替えると、どのような問題が予想されますか?

GCC 4.x は GCC 3.4.2 に比べてどのような利点がありますか?

ICC にはどのようなメリットがありますか?

0 投票する
7 に答える
3212 参照

c++ - C++ でロックを使用せずに競合状態を防ぐにはどうすればよいですか?

C++ でミューテックス/セマフォをロックまたは使用せずに競合状態を回避するにはどうすればよいですか? 配列に値を設定するネストされた for ループを扱っています。

多かれ少なかれ、同時に実行されている異なるスレッドが同時に array[k] に書き込まないように、これに対処したいと考えています。これにアプローチする方法について何か提案はありますか?

編集: Linux マシンで実行していますが、Intel コンパイラも使用する必要があります。「gcc」の代わりに「icc」を使用してコードをコンパイルします。

0 投票する
3 に答える
485 参照

c - マクロ定義はMIPSとインテルCコンパイラーの間で互換性がありますか?

Cプログラムで定義したマクロに問題があるようです。

このソフトウェアをコンパイルして、MIPSコンパイラで正常に実行します。

ビルドはOKですが、iccを使用すると、実行時に「セグメンテーション違反」というエラーがスローされます。

これらの両方を64ビットアーキテクチャでコンパイルしました(SGIではMIPS、Intelプラットフォームでは-64フラグとiccを使用)。

両方のシステムでこれを正しく機能させるために使用する必要のある魔法のスイッチはありますか?インテル®コンパイラーの警告をオンにすると、プログラム内でマクロが呼び出されるすべての場所で警告がスローされます。通常、マクロのパラメーター(intからchar *)の不一致型の線に沿ったもの、またはそのようなもの。

これが問題のマクロです

これは基本的にデバッグに使用されます-関数呼び出しの数に基づいて設定されたタブ数のログファイルに出力します。(tdepth =タブの深さ)

マニュアルページをチェックしました。memalignはIRIXでのみサポートされているようです。これは私の問題かもしれません。私はそれを追跡するつもりです。

0 投票する
1 に答える
423 参照

c++ - ICC 11.1 は ia64 の PTHREADS に関して奇妙な動作をします

ICC 11.1 を使用して ia64 マシンで作業しています。次のプログラムはうまくコンパイルされます。

でコンパイルするとicc test.cpp -o test

しかし、ファイルの内容を次のように変更すると:

私は突然得ます:

icc -c test.cpp -o test.o test.cpp(6): エラー: 識別子 "PTHREAD_STACK_MIN" は未定義です printf("%d\n", PTHREAD_STACK_MIN); ^

test.cpp のコンパイルが中止されました (コード 2)

誰かが私に理由を説明できますか? またはもっと重要なこと: 2 番目のコード例もコンパイルできるように、この問題を回避するにはどうすればよいですか?

0 投票する
2 に答える
10524 参照

c - OpenMPIにICCの代わりにGCCを使用させるにはどうすればよいですか?OpenMPIの再コンパイルは必要ですか?

のために書かれた並列計算用のCコードがありgcc、それをクラスター上でコンパイルしたいと思います。これは明らかにiccviaを使用しmpiccます。コードをiccわかりやすくするために修正するのは時間がかかりすぎるように思われるので、代わりOpenMPIに使用するように依頼できるかどうか疑問に思います。gccそのクラスターの管理者権限を持っていないので、実際には元の構成を台無しにしないほうがいいと思います。

たとえば、を設定できない場合は、ホームディレクトリでMakefileコンパイルできれば幸いですが、その後にOpenMPI何をする必要があるかについてのガイダンスが必要です。私たちを手伝ってくれますか?


UPDATE1

Makefile含む_

そしてここにいくつかのOpenMPIファイルがあります

詳細をお知らせいただければお知らせください。


UPDATE2

ジェフの助けを借りて、私はのためのOpenMPI設定を見つけることができましたmpicc

ただし、このファイルを編集する権限がなく、OPMI_CC = gccコンパイラを変更しません。


UPDATE3

環境変数CC = gccは役に立たない


UPDATE4

...しかし、export OMPI_CC=gcc最終的には役立ちます(sharthのおかげで)。いつの日か、これらは別のものであることを覚えておく必要があります...

バイナリが作成されたにもかかわらず、次のバイバイメッセージが表示されました

0 投票する
2 に答える
8253 参照

gcc - makefile と g++ で openmp を使用する

icpc でビルドされたメイクファイルを使用して大規模なプロジェクトをビルドしていますが、g++ で実行する必要があります。

openmp を使用するファイルをコンパイルすると、-c フラグが使用され、ライブラリは使用されないため、openmp ではなくシリアルになります。私が見ているすべての例は、この -c フラグを使用していません。

リンクせずにopenmpを使用してコンパイルする方法はありますか?

編集:

-lgomp フラグを使用しています (ライブラリはライブラリ パス上にあります):

g++ -lgomp -c -w -O4 mainS.cpp
g++: -lgomp: リンクが行われていないため、リンカー入力ファイルは使用されていません

編集: 私の上司は、コード、makefile、およびドキュメントでいくつかの間違いを犯しました。時間を無駄にして申し訳ありません。少なくとも、私が費やした 5 時間よりも短い時間でした =/

0 投票する
7 に答える
1717 参照

c++ - -O2 を指定したインテル® C++ コンパイラーのように、コンパイラーは無限ループを削除できますか?

次のテスト コードは、デバッグまたはリリースを使用して VS で正しく動作し、GCC でも正しく動作します。また、デバッグを使用した ICC では正しく動作しますが、最適化が有効になっている場合 ( -O2) には正しく動作しません。

で止まるはずwhile(q.isEmpty())です。ただし、ICC (リリース) で有効にする-O2と、無限に "doSomething" を開始します。

これはシングル スレッド プログラムであり isEmpty()、として評価する必要があるtrueため、ICC がこのように動作する理由がわかりません。私は何かが恋しいですか?