2048x2048 বনাম 2047x2047 অ্যারে গুণে কেন বিশাল পারফরম্যান্স হিট হচ্ছে?


127

আমি কিছু ম্যাট্রিক্স গুণিত বেঞ্চমার্কিং করছি, যেমন পূর্বে উল্লিখিত হয়েছে কেন ম্যাট্রিক্স গুণমানের ক্ষেত্রে ম্যাটল্যাব এত দ্রুত?

এখন আমি আর একটি সমস্যা পেয়েছি, যখন দুটি 2048x2048 ম্যাট্রিককে গুণিত করার সময়, সি # এবং অন্যদের মধ্যে একটি বড় পার্থক্য রয়েছে। আমি যখন কেবল 2047x2047 ম্যাট্রিকগুলিতে চেষ্টা করি তখন এটিকে স্বাভাবিক বলে মনে হয়। তুলনা করার জন্য আরও কিছু যুক্ত করেছেন।

1024x1024 - 10 সেকেন্ড।

1027x1027 - 10 সেকেন্ড।

2047x2047 - 90 সেকেন্ড।

2048x2048 - 300 সেকেন্ড।

2049x2049 - 91 সেকেন্ড। (হালনাগাদ)

2500x2500 - 166 সেকেন্ড

এটি 2 কে বাই 2 কে ক্ষেত্রে সাড়ে তিন মিনিটের পার্থক্য।

2 ডিিম অ্যারে ব্যবহার করে

//Array init like this
int rozmer = 2048;
float[,] matice = new float[rozmer, rozmer];

//Main multiply code
for(int j = 0; j < rozmer; j++)
{
   for (int k = 0; k < rozmer; k++)
   {
     float temp = 0;
     for (int m = 0; m < rozmer; m++)
     {
       temp = temp + matice1[j,m] * matice2[m,k];
     }
     matice3[j, k] = temp;
   }
 }

23
এটি একটি উন্নত স্তরের সি প্রোগ্রামিং বা ওএস ডিজাইন শ্রেণীর জন্য দুর্দান্ত পরীক্ষার প্রশ্ন হবে ;-)
দানা দ্য সনে

আপনি কি বহুমাত্রিক [,] এবং জ্যাগড [] [] অ্যারে পাশাপাশি 32 এবং 64 বিট উভয়ই পরীক্ষা করার চেষ্টা করেছেন? আমি কেবল কয়েকবার পরীক্ষা করেছি তবে জাজডগুলি আপনার ফলাফলগুলির সাথে আরও বেশি লাইনযুক্ত মনে হয়েছে তবে জাগড bit৪ বিট বেশি ছিল, আমি জানি না যে জিটটিতে কোনও হুরিস্টিক্স রয়েছে যা এই পরিস্থিতিতে প্রযোজ্য বা এর ক্যাশে পূর্বে প্রস্তাবিত হিসাবে সম্পর্কিত কিনা if আপনি যদি একটি জিজিপিইউ সমাধান চান তবে সেখানে গবেষণা. microsoft.com/en-us/projects/accelerator রয়েছে যা আপনার অন্যান্য পোস্টের সময়ের সাথে প্রতিযোগিতামূলক হওয়া উচিত।
ক্রিস

কিছুটা নির্লজ্জ প্রশ্ন, তবে দুটি বর্গ ম্যাট্রিককে গুণিত করার জন্য কতগুলি অপ্স (যোগ / গুণ) যুক্ত?
নিক টি

উত্তর:


61

এটি সম্ভবত আপনার এল 2 ক্যাশে দ্বন্দ্বগুলির সাথে রয়েছে।

Matice1 এ ক্যাশে মিস করা সমস্যা নয় কারণ তারা ক্রমানুসারে অ্যাক্সেস করা হয়েছে। তবে ম্যাটিস 2-এর ক্ষেত্রে যদি কোনও সম্পূর্ণ কলাম এল 2-তে ফিট করে (যেমন আপনি যখন matice2 [0, 0], matice2 [1, 0], matice2 [2, 0] ... ইত্যাদি অ্যাক্সেস করবেন তখন কিছুই বাদ নেই) এর সাথে কোনও সমস্যা নেই ক্যাশে matice2 এর সাথে মিস হয়।

এখন ক্যাশেগুলি কীভাবে কাজ করে তার আরও গভীরতর বিষয়ে যদি আপনার ভেরিয়েবলের বাইট অ্যাড্রেস এক্স হয় তবে এর জন্য ক্যাশে লাইনটি হবে (এক্স >> 6) এবং (এল - 1)। যেখানে এল আপনার ক্যাশে মোট ক্যাশে রেখার সংখ্যা। এল সর্বদা ২. পাওয়ার হয়। ছয়টি 2 from 6 == 64 বাইটগুলি ক্যাশে লাইনের মান আকার size

এখন এই মানে কি? ঠিক আছে এর অর্থ হ'ল যদি আমার কাছে X এবং ঠিকানা Y থাকে এবং (X >> 6) - (Y >> 6) এল দ্বারা বিভাজ্য হয় (অর্থাত 2 এর বৃহত শক্তি) তবে সেগুলি একই ক্যাশেলিনে সংরক্ষণ করা হবে।

এখন আপনার সমস্যায় ফিরে যেতে 2048 এবং 2049 এর মধ্যে পার্থক্য কী,

যখন 2048 আপনার আকার হয়:

যদি আপনি & matice2 [x, k] এবং & matice2 [y, k] পার্থক্য নেন (& matice2 [x, k] >> 6) - (& matice2 [y, k] >> 6) 2048 * 4 (আকার) দ্বারা বিভাজ্য হবে of float)। সুতরাং একটি বড় শক্তি 2।

সুতরাং আপনার এল 2 আকারের উপর নির্ভর করে আপনার অনেকগুলি ক্যাশে লাইন বিবাদ হবে এবং কেবলমাত্র আপনার এল 2 এর ছোট্ট অংশটি একটি কলাম সংরক্ষণ করতে ব্যবহার করবে, সুতরাং আপনি প্রকৃতপক্ষে আপনার ক্যাশে পুরো কলামটি সংরক্ষণ করতে সক্ষম হবেন না, সুতরাং আপনি খারাপ পারফরম্যান্স পাবেন ।

যখন আকার 2049 হয়, তারপরে পার্থক্যটি 2049 * 4 হয় যা 2 এর শক্তি নয় সুতরাং আপনার কম বিরোধ হবে এবং আপনার কলামটি নিরাপদে আপনার ক্যাশে ফিট করবে।

এখন এই তত্ত্বটি পরীক্ষা করার জন্য কয়েকটি জিনিস আপনি করতে পারেন:

আপনার অ্যারে ম্যাটিস 2 অ্যারেটিকে এই ম্যাটিস 2 [রেজমর, 4096] এর মতো বরাদ্দ করুন এবং রেজমোর = 1024, 1025 বা যে কোনও আকারের সাথে চালান এবং আপনার আগের তুলনায় আপনার খুব খারাপ পারফরম্যান্স দেখা উচিত see এর কারণ আপনি সমস্ত কলামকে একে অপরের সাথে বিরোধে জোর করে সংযুক্ত করেছেন।

তারপরে ম্যাটিস 2 [রেজার, 4097] ব্যবহার করে এটি যে কোনও আকারের সাথে চালান এবং আপনার আরও ভাল পারফরম্যান্স দেখতে হবে।


আপনার শেষ 2 অনুচ্ছেদে আপনি কী ভুল করেছেন? উভয় চেষ্টা ঠিক একই। :)
Xeo

ক্যাশে এসোসিয়েটিভিটিও একটি ভূমিকা পালন করে।
বেন জ্যাকসন

20

সম্ভবত একটি ক্যাচিং প্রভাব। ম্যাট্রিক্সের মাত্রাগুলি যা দুটি বৃহত শক্তি এবং একটি ক্যাশে আকার যা দুটো শক্তিও রয়েছে, আপনি কেবল আপনার এল 1 ক্যাশে একটি ছোট ভগ্নাংশ ব্যবহার করে শেষ করতে পারেন, জিনিসগুলি অনেকটা ধীর করে দেয়। নেভ ম্যাট্রিক্সের গুণটি সাধারণত ক্যাশে ডেটা আনার প্রয়োজনে বাধা থাকে। টাইলিং (বা ক্যাশে-বিস্মৃত অ্যালগরিদম) ব্যবহার করে অনুকূলিত অ্যালগরিদমগুলি এল 1 ক্যাশেটির আরও ভাল ব্যবহারের দিকে দৃষ্টি নিবদ্ধ করে।

যদি আপনি অন্যান্য জুটির সময় নেন (2 ^ n-1,2 ^ n) আমি আশা করি আপনিও একই রকম প্রভাব দেখতে পাবেন।

আরও সম্পূর্ণরূপে ব্যাখ্যা করার জন্য, আপনি যে অভ্যন্তরীণ লুপটিতে matice2 [এম, কে] অ্যাক্সেস করেছেন সেখানে সম্ভবত ম্যাটিস 2 [এম, কে] এবং ম্যাটিস 2 [এম + 1, কে] 2048 * আকারের (ফ্লোট) দ্বারা একে অপরের থেকে অফসেট হয়ে গেছে এবং এইভাবে L1 ক্যাশে একই সূচীতে মানচিত্র করুন। একটি এন-ওয়ে সহযোগী ক্যাশে সহ আপনার কাছে সাধারণত এইগুলির জন্য 1-8 ক্যাশে অবস্থান থাকবে। সুতরাং এই সমস্ত অ্যাকসেসগুলির মধ্যে প্রায় সমস্তই L1 ক্যাশে উচ্ছেদে এবং ধীর ক্যাশে বা মূল স্মৃতি থেকে ডেটা আনবে trigger


+1 টি। মনে হচ্ছে। একজনকে ক্যাশে সাহসিকতার সাথে সতর্ক থাকতে হবে।
ম্যাক

16

এটি আপনার সিপু ক্যাশে আকারের সাথে করতে পারে। যদি ম্যাট্রিক্স ম্যাট্রিক্সের 2 টি সারি ফিট না করে তবে আপনি র‌্যাম থেকে উপাদানগুলিতে অদলবদল করতে looseিলে সময় কাটাবেন। অতিরিক্ত 4095 উপাদানগুলি সারিগুলিকে ফিট করা থেকে রোধ করতে যথেষ্ট হতে পারে।

আপনার ক্ষেত্রে, 2047 2 ডি ম্যাট্রিক্সের জন্য 2 টি সারি 16 কেবি মেমরির মধ্যে পড়ে (32 বিটের ধরণ ধরে)। উদাহরণস্বরূপ, আপনার যদি 64KB এর একটি L1 ক্যাশে (বাসের সিপু এর নিকটতম) থাকে তবে আপনি একবারে কমপক্ষে 4 টি সারি (2047 * 32 এর) ক্যাশে ফিট করতে পারেন। দীর্ঘ সারিগুলির সাথে যদি এমন কোনও প্যাডিং প্রয়োজন হয় যা সোনার জোড়কে 16 কেবি ছাড়িয়ে ধাক্কা দেয়, তবে জিনিসগুলি অগোছালো হতে শুরু করে। এছাড়াও, প্রতিটি সময় আপনি ক্যাশে 'মিস' করেন, অন্য ক্যাশে বা প্রধান মেমরি থেকে ডেটা স্যুপে করে জিনিসগুলি বিলম্ব করে।

আমার অনুমান যে আপনি বিভিন্ন আকারের ম্যাট্রিক্সের সাথে চালানোর সময়গুলির বিভিন্নতা অপারেটিং সিস্টেমটি কীভাবে কার্যকরভাবে উপলব্ধ ক্যাশে ব্যবহার করতে পারে তা দ্বারা প্রভাবিত হয় (এবং কিছু সংমিশ্রণ কেবল সমস্যাযুক্ত)। অবশ্যই এটি আমার পক্ষ থেকে সমস্ত স্থূল সরলীকরণ।


2
তবে তার খুব কম সম্ভাবনা রয়েছে তাঁর
সিপিইউয়ের

আমি 2049x2049 - 91 সেকেন্ডের সাথে ফলাফলগুলি আপডেট করেছি। যদি এটি "ক্যাশে সমস্যা" হত তবে এটি কি এখনও 300+ এস হওয়া উচিত নয়?
ওল্ফ

@ মারিনো উত্তরটি আমলে নেওয়ার জন্য আপডেট করা হয়েছে।
দানা দ্য সনে

1
আমি অনুভব করি যে এই ব্যাখ্যাগুলির মধ্যে কোনওটিই বিবিধ এবং স্পারস আকারের বিষয়ে নতুন বিবরণকে যথাযথভাবে সম্বোধন করতে পারে না যা সমস্যাটিকে প্রভাবিত করে অন্যদের মধ্যে প্রভাব ফেলবে না।
কেন রকোট

2
আমি এই ব্যাখ্যাটি সঠিক বলে মনে করি না। আকারটি ২. পাওয়ার হওয়ার সাথে সাথে ক্যাশে লাইন বিবাদগুলির কারণে ক্যাশে ক্ষমতা সম্পূর্ণরূপে ব্যবহার না করার ক্ষেত্রে সমস্যাটি রয়েছে Also এছাড়াও অপারেটিং সিস্টেমের ক্যাশেগুলির সাথে আসলে কিছুই করার নেই, কারণ এটি ওএস নয় যা ক্যাশে করবে এবং কী উচ্ছেদ করতে হবে তা স্থির করে, এটি সমস্ত হার্ডওয়ারে ডেটা সারিবদ্ধকরণের সাথে ওএসের কিছু করার আছে, তবে এই ক্ষেত্রে সি # কীভাবে ডেটা বরাদ্দ করার সিদ্ধান্ত নেয় এবং মেমরিতে 2 ডি অ্যারে উপস্থাপন করতে পারে সে সম্পর্কে এটি সমস্ত কিছুই, ওএস এর সাথে কিছুই করার নেই।
zviadm

10

লুই ব্র্যান্ডি দুটি ব্লগ পোস্ট লিখেছিলেন ঠিক এই সমস্যাটিকে বিশ্লেষণ করে:

আরও ক্যাশে ক্রেজিনেস এবং কম্পিউটেশনাল পারফরম্যান্স - কিছু আকর্ষণীয় পরিসংখ্যান সহ একটি শিক্ষানবিশ কেস স্টাডি এবং আচরণটি আরও বিশদে ব্যাখ্যা করার চেষ্টা করে, এটি প্রকৃতপক্ষে ক্যাশের আকার সীমাবদ্ধতায় নেমে আসে না।


5

প্রদত্ত সময়টি বড় আকারে নেমে যাওয়ায় ক্যাশে দ্বন্দ্ব হওয়ার সম্ভাবনা বেশি হবে না, বিশেষত সমস্যাযুক্ত ম্যাট্রিক্স মাপের জন্য ২ টির ক্ষমতা? আমি ক্যাশে সমস্যা সম্পর্কিত কোনও বিশেষজ্ঞ নই, তবে এখানে ক্যাশে সম্পর্কিত পারফরম্যান্স সম্পর্কিত দুর্দান্ত তথ্য ।


ক্যাশে অ্যাসোসিয়েটিভিটির লিঙ্কটির 5 নং অংশটি বিশেষত প্রয়োগ হয়েছে বলে মনে হচ্ছে।
দানা দ্য সনে

4

আপনি matice2উল্লম্বভাবে অ্যারে অ্যাক্সেস করতে যাচ্ছেন, এটি ক্যাশে থেকে আরও অনেক কিছুতে অদলবদল হবে। আপনি যদি অ্যারেটি তির্যকভাবে মিরর করেন, যাতে [k,m]পরিবর্তে এটি ব্যবহার করে আপনি অ্যাক্সেস করতে পারেন [m,k], কোডটি আরও দ্রুত চলবে।

আমি এটি 1024x1024 ম্যাট্রিকের জন্য পরীক্ষা করেছি এবং এটি প্রায় দ্বিগুণ দ্রুত। 2048x2048 ম্যাট্রিকের জন্য এটি প্রায় দশগুণ দ্রুত।


2049 2040 এর চেয়ে দ্রুত কেন এটি ব্যাখ্যা করে না
ম্যাক

@ ম্যাক: এর কারণ এটি মেমরি ক্যাচিংয়ের কিছু সীমা অতিক্রম করে, যাতে আরও অনেক বেশি ক্যাশে মিস হয়।
গুফা

ডাউনটা কেন? আপনি যদি ভুল বলে মনে করেন তবে তা উত্তরটি উন্নত করতে পারে না।
গুফা

কোনও ব্যাখ্যা ছাড়াই আরেকটি ডাউনটায়েট ... আমার উত্তরটির মধ্যে খুব কম "সম্ভবত", "অনুমান" এবং "উত্তর" থাকা উচিত, যে উত্তরগুলি সর্বাধিক উন্নতি পেয়েছে ...?
গুফা

4

ক্যাশে আলিয়াসিং

বা ক্যাশে থ্র্যাশিং , যদি আমি একটি শব্দ মুদ্রা করতে পারি।

নিম্ন অর্ডার বিটের সাথে সূচীকরণ এবং হাই অর্ডার বিটের সাথে ট্যাগ করে ক্যাশেগুলি কাজ করে।

আপনার ক্যাশে ৪ টি শব্দ রয়েছে এবং আপনার ম্যাট্রিক্সটি 4 x 4 রয়েছে এমন চিত্রটি যখন কোনও কলামটি অ্যাক্সেস করা হয় এবং সারিটি দুটি দৈর্ঘ্যের দৈর্ঘ্যের হয়, তখন মেমরির প্রতিটি কলাম উপাদান একই ক্যাশে উপাদানটিকে ম্যাপ করে।

একটি পাওয়ার-টু-প্লাস-ওয়ান আসলে এই সমস্যার জন্য সর্বোত্তম। প্রতিটি নতুন কলাম উপাদান পরবর্তী ক্যাশে স্লটে মানচিত্র তৈরি করবে ঠিক যেন সারি অনুসারে অ্যাক্সেস করছে।

বাস্তব জীবনে, একটি ট্যাগ একাধিক ক্রমবর্ধমান ঠিকানাগুলি কভার করে যা একটি সারিতে বিভিন্ন সংলগ্ন উপাদানগুলিকে ক্যাশে করবে। প্রতিটি নতুন সারি মানচিত্রে বালতিটি অফসেট করে, কলামটি অতিক্রম করে আগের প্রবেশটি প্রতিস্থাপন করে না। যখন পরবর্তী কলামটি অতিক্রম করা হবে তখন পুরো ক্যাশেটি বিভিন্ন সারি দিয়ে পূর্ণ হবে এবং প্রতিটি সারি বিভাগ যা ক্যাশে ফিট করে তা বেশ কয়েকটি কলামের জন্য আঘাত করবে।

যেহেতু ক্যাশে ডিআআরএএম থেকে বেশ দ্রুত (বেশিরভাগ অন-চিপ হওয়ার কারণে) হিট রেট হ'ল সবকিছু।


2

আপনি ক্যাশে আকারের সীমাতে আঘাত করেছেন বলে মনে হচ্ছে বা আপনার সময়গুলিতে পুনরাবৃত্তিযোগ্যতার কিছু সমস্যা রয়েছে।

সমস্যা যাই হোক না কেন, আপনার কেবল সি # তে ম্যাট্রিক্স গুণ করা উচিত নয় এবং পরিবর্তে বিএলএএস এর একটি অনুকূলিত সংস্করণ ব্যবহার করা উচিত। ম্যাট্রিক্সের আকারটি যে কোনও আধুনিক মেশিনে এক সেকেন্ডের মধ্যে গুণতে হবে।


1
আমি বিএলএএস সম্পর্কে সচেতন, তবে কাজটি এটিকে সম্ভব হিসাবে দ্রুততম করে তোলা নয়, বরং বিভিন্ন ভাষায় লিখে লিখে পরীক্ষা করা ছিল। এটি আমার জন্য খুব বিস্ময়কর সমস্যা এবং ফলাফল সত্যিই কেন আগ্রহী আইএম cur
ওল্ফ

3
@ ওল্ফ আমার পক্ষে দ্বিতীয় হওয়া উচিত যে 90 সেকেন্ড বা 300 সেকেন্ড সময় নেয় সে সম্পর্কে উত্তেজিত হয়ে উঠতে অসুবিধা হবে।
ডেভিড হেফারনান

4
কীভাবে কিছু কাজ করে তা শেখার সর্বোত্তম উপায় হ'ল এটি নিজের লেখা এবং কীভাবে আপনি আপনার বাস্তবায়নের উন্নতি করতে পারেন তা দেখুন; এটি (আশাকরি) ওল্ফ কী করছে।
কলম রজার্স

ক্যালাম রজার্স এইভাবেই আমি ফাইল অনুলিপি অপারেশনগুলিতে বাফার আকারগুলির গুরুত্ব শিখলাম।
কেলি এস ফরাসী

1

কার্যকরভাবে ক্যাশে শ্রেণিবিন্যাস ব্যবহার করা খুব গুরুত্বপূর্ণ। আপনাকে নিশ্চিত করতে হবে যে বহুমাত্রিক অ্যারেগুলির একটি দুর্দান্ত বিন্যাসে ডেটা রয়েছে যা টাইলিংয়ের মাধ্যমে সম্পন্ন করা যায় । এটি করার জন্য আপনাকে 2D অ্যারে 1D অ্যারে হিসাবে এক সূচীকরণ ব্যবস্থার সাথে সঞ্চয় করতে হবে। প্রচলিত পদ্ধতিতে সমস্যাটি হ'ল যদিও একই সারিতে থাকা দুটি সংলগ্ন অ্যারে উপাদানগুলি মেমোরিতে একে অপরের পাশে রয়েছে, একই কলামে দুটি সংলগ্ন উপাদান ডাব্লু উপাদান দ্বারা মেমরিতে পৃথক করা হবে , যেখানে ডাব্লু কলামের সংখ্যা । টাইলিং দশমিক দশমিক পারফরম্যান্সের পার্থক্য হিসাবে তৈরি করতে পারে।


হুম - তবুও 2 ডি হিসাবে ঘোষিত একটি অ্যারে (ভাসমান [,] ম্যাটিস = নতুন ফ্লোট [রোজার, রোজার];) কেবল র‌্যামে কেবলমাত্র এক মাত্রিক অ্যারে এবং সারি / স্ট্রাইড গণনা হুডের অধীনে সম্পন্ন হয়। তাহলে কেন এটি 1 ডি হিসাবে ঘোষণা করা এবং ম্যানুয়াল সারি / স্ট্রাইড গণনাগুলি দ্রুত করা হবে? আপনি কি বোঝাতে চাচ্ছেন যে sol'n ছোট টাইলগুলির অ্যারে হিসাবে একটি বড় অ্যারে বরাদ্দ করা হয়েছে যার মধ্যে প্রতিটিই ক্যাশে ফিট করতে পারে যেখানে বড় অ্যারে না করবে?
এরিক এম

1
আপনার লাইব্রেরি বা আপনি যে কোনও সরঞ্জাম ব্যবহার করছেন তা যদি টাইলিং করে তবে আপনার দরকার নেই। তবে আপনি যদি traditionalতিহ্যবাহী 2D অ্যারে ব্যবহার করতে চান, সি / সি ++ বলুন, তবে টাইলিংয়ের ফলে পারফরম্যান্সের উন্নতি হবে।
অ্যারলেন

0

আমার সন্দেহ হয় এটি " সিক্যুয়েন্সি বন্যা " নামক কোনও কিছুর ফলাফল । এটি হ'ল আপনি ক্যাশের আকারের চেয়ে কিছুটা বড় অবজেক্টের তালিকার মধ্য দিয়ে লুপটি চালানোর চেষ্টা করছেন, সুতরাং কোনও তালিকাতে (অ্যারে) প্রতিটি অনুরোধ অবশ্যই মেষ থেকে করা উচিত, এবং আপনি একটিও ক্যাশে পাবেন না আঘাত।

আপনার ক্ষেত্রে, আপনি আপনার অ্যারে 2048 সূচকগুলি 2048 বার লুপ করে চলেছেন তবে আপনার কেবলমাত্র 2047 এর জন্য জায়গা রয়েছে (সম্ভবত অ্যারের কাঠামো থেকে কিছুটা ওভারহেডের কারণে), তাই প্রতিবার আপনি যখন অ্যারে পোস্টে অ্যাক্সেস করেন তখন এই অ্যারে পোস্টটি পাওয়া দরকার মেষ থেকে এটি পরে ক্যাশে সংরক্ষণ করা হয়, তবে এটি আবার ব্যবহার করার ঠিক আগে, এটি ফেলে দেওয়া হয়। সুতরাং ক্যাশে মূলত অকেজো, এটি কার্যকর করার সময়কে আরও দীর্ঘায়িত করে।


1
ত্রুটিপূর্ণ. 2049 2048 এর চেয়ে দ্রুততর, যা আপনার দাবির খণ্ডন করে।
ম্যাক

@ ম্যাক: এটি বেশ সম্ভব। তবে তার প্রসেসরে ব্যবহৃত ক্যাশে পলিসি এখনও এই স্বচ্ছন্দ্য বোধ করতে পারে এমন একটি সামান্য সম্ভাবনা রয়েছে। এটি খুব সম্ভবত না, তবে এটি অভাবনীয়ও নয়।
অটোমেটিকো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.