Bagikan melalui


loop pragma

Mengontrol bagaimana kode perulangan akan dipertimbangkan oleh paralelizer otomatis, atau mengecualikan perulangan dari pertimbangan oleh vektorizer otomatis.

Sintaks

#pragma loop( hint_parallel(n ) )
#pragma loop( no_vector )
#pragma loop( ivdep )

Parameter

hint_parallel(n )
Petunjuk untuk pengkompilasi bahwa perulangan ini harus diparalelkan di seluruh n utas, di mana n adalah bilangan bulat positif literal atau nol. Jika n adalah nol, jumlah maksimum utas digunakan pada waktu proses. Ini petunjuk untuk pengkompilasi, bukan perintah. Tidak ada jaminan bahwa perulangan akan diparalelkan. Jika perulangan memiliki dependensi data, atau masalah struktural, maka itu tidak akan diparalelkan. Misalnya, tidak diparalelkan jika disimpan ke skalar yang digunakan di luar isi perulangan.

Pengkompilasi mengabaikan opsi ini kecuali /Qpar sakelar pengkompilasi ditentukan.

no_vector
Secara default, vektorizer otomatis mencoba mem-vektorisasi semua perulangan yang dievaluasi dapat memperoleh manfaat darinya. Tentukan ini pragma untuk menonaktifkan vektorizer otomatis untuk perulangan yang mengikuti.

ivdep
Petunjuk kepada pengkompilasi untuk mengabaikan dependensi vektor untuk perulangan ini.

Keterangan

Untuk menggunakan , letakkan looppragmasegera sebelum, bukan di, definisi perulangan. Berlaku pragma untuk cakupan perulangan yang mengikutinya. Anda dapat menerapkan beberapa pragma arahan ke perulangan, dalam urutan apa pun, tetapi Anda harus menyatakan masing-masing dalam pernyataan terpisah pragma .

Lihat juga

Paralelisasi otomatis dan vektorisasi otomatis
Arahan Pragma dan __pragma _Pragma kata kunci