2015-11-17 7 views
9

मैं विंडोज 7 पर एक सी प्रोग्राम के लिए कोडब्लॉक्स का उपयोग कर रहा हूं। कार्यक्रम ओएमपी लाइब्रेरी का उपयोग कर रहा है। जीसीसी संस्करण 4.9.2 है। मिंगव x86_64-w64-mingw32-gcc-4.9.2.exe।जीसीसी वेक्टरेशन जानकारी क्यों नहीं दिखाती है?

उपयोग किए गए ध्वज हैं: -fopenmp -O3 -mfpmath=sse -funroll-loops -ftree-loop-distribution -ftree-vectorize -ftree-vectorizer-verbose=2

कार्यक्रम सही ढंग से चलता है लेकिन समस्या यह है कि यह जानकारी नहीं दिखाती कि लूप को वेक्टरकृत किया गया था या नहीं। मैं इसे कैसे सुलझाऊं?

बिल्ड लॉग जानकारी:

-------------- बिल्ड: **** में रिलीज (संकलक: जीएनयू जीसीसी संकलक) ------- --------

x86_64-W64-mingw32-जीसीसी-4.9.2.exe -Wall -O2 मार्च = corei7 -fexpensive-अनुकूलन -O3 -fopenmp -mfpmath = SSE -funroll-छोरों -फ्री-लूप-वितरण -फ्री-वेक्टरिज -फ्री-वेक्टरिज़र-वर्बोज़ = 2-सी सी: \ उपयोगकर्ता ... \ fc -o obj \ release \ fo x86_64-w64-mingw32-g ++। exe -o बिन \ रिलीज \ d.exe obj \ रिलीज \ fo obj \ release \ main.o -s "सी: \ प्रोग्राम फ़ाइलें ... \ libgomp-1.dl एल " आउटपुट फ़ाइल बिन \ रिलीज \ d.exe आकार 21.00 केबी प्रक्रिया स्थिति 0 (0 मिनट (ओं), 0 सेकंड (ओं)) 0 त्रुटि (0) 0 चेतावनी (0) के साथ समाप्त हुई है मिनट (ओं), 0 सेकंड (ओं))

+0

बस यह सुनिश्चित करने के लिए, क्या आपने 'बिल्ड लॉग' टैब देखा है? 'संदेश बनाएं' में कोई भी वेक्टरेशन जानकारी नहीं हो सकता है यदि कोडबॉक्स इसे पार्स नहीं कर सकता है। – HolyBlackCat

+0

हां, मैंने बिल्ड लॉग के साथ संदेश संपादित किया है। – Franktrt

उत्तर

13

कोडब्लॉक एक आईडीई है। यह कुछ भी संकलित नहीं करता है। जीसीसी करता है। -ftree-vectorizer-verbose पिछले संस्करणों में काम करने के लिए प्रयोग किया जाता था। अब -fopt-info है, जो अनुकूलन (वेक्टरेशन भी) के बारे में जानकारी पुनर्प्राप्त करने की अनुमति देता है; आप प्रासंगिक दस्तावेज here पा सकते हैं।

यह भी दिखाया गया है कि कैसे वास्तव में stderr को vectorizer उत्पादन को पुनः प्राप्त करने: और यह एक:

gcc -O2 -ftree-vectorize -fopt-info-vec-missed 

प्रिंट vectorization stderr पर गुजरता से चूक गए अनुकूलन के अवसर के बारे में जानकारी। ध्यान दें कि -फॉप्ट-इन्फो-vec-miss -fopt-info-miss-vec के बराबर है।

आप missed को उदा। optimized, all और इसी तरह सूचीबद्ध के रूप में।

+0

अब यह काम करता है। कंपाइलर बदलने से पहले, मुझे उस तरह की जानकारी थी और फिर मैं उन्हें फिर से प्राप्त नहीं कर सका। – Franktrt

+0

एक उदाहरण ध्वज जो इसे प्राप्त करता है उसका स्वागत होगा ... विकल्पों के fopt-info परिवार के लिए मैन पेज ग्रोक करने के लिए थोड़ा मुश्किल है। –

+0

@AndrewWagner मैंने फिर से दस्तावेज़ों की जांच की है और ऐसा लगता है कि मैंने जवाब पोस्ट किया है, इसलिए मैंने लिंक अपडेट किया है और थोड़ा और स्पष्टीकरण जोड़ा है। – edmz

संबंधित मुद्दे