رفتن به مطلب

اموزش : اورکلاک همراه با کدنویسی


Extreme Plus
 اشتراک گذاری

Recommended Posts

  • کاربر ویژه

به نام خدا

 

سلام خدمت دوستان گیک لیون کامپیوتر  @};-  @};-

 

در این تاپیک با ما همراه هستید با روش های گیکی اورکلاک 

 

میخوایم تو این تاپیک هم اموزش برنامه نویسی بدیم هم اورکلاک پس با ما همراه باشید 

 

مواد لازم :  

 

1 - یک سیستم خوب با قابلیت های اینستراکشن بروز و کاربردی (*)  (*) 

2- داشتن وقت و حوصله کافی :-?  :-? 

3- داشتن انگیزه و پشت کار :clapping:  :clapping: 

 

شروع : 

 

1 - من شمارو با چندزبان برنامه نویسی اشنا میکنم با هرکدوم راحت تر بودید با همون ادامه بدید  :cool:  :cool: 

 

2 - ما در قدم اول قرار هست عدد پی رو محاسبه کنیم که نسبتا چیز ساده ای به حساب میاد ولی بسیار کاربردی  :crying:  :crying: 

 

3 - ما میخوایم تو کدنویسی که انجام میدیم از استاندارد مولتی ترد و چند هسته ای و اینستراکشن های روز استفاده کنیم  =)) 

 

 

warning-banner.png

 

 

توجه : در این شرایط میزان لود پردازنده به شدت افزایش پیدا میکنه پس بنابراین باید شرایط محیطی رو برای پردازنده فراهم بکنید ( خنک کنندگی ) ~x(  %-( 

لینک به دیدگاه
Share on other sites

  • کاربر ویژه

دوستان ببخشید فرصت نداشتم کامل کنم

حداکثر تا جمعه تکمیل میشه

Sent from my iPhone using Tapatalk

لینک به دیدگاه
Share on other sites

  • 4 هفته بعد...
  • کاربر ویژه

خب میخوایم با پایتون شروع بکنیم 

 

کار رو با تولید اعداد اول شروع میکنیم 

# Generate prime numbers
# Based on an article from http://dunningrb.wordpress.com/
 
import datetime, sys, math
 
# Function to print message
def print_prime(x):
  print " Prime : %7i " %x
 
# Function to search for prime numbers
# within number range
def find_primes(upper_limit):
  count = 0
  candidate = 3
  while(candidate <= upper_limit):
    trial_divisor = 2
    prime = 1 # assume it's prime
    while(trial_divisor**2 <= candidate and prime):
      if(candidate%trial_divisor == 0):
        prime = 0 # it isn't prime
      trial_divisor+=1
    if(prime):
      print_prime(candidate)
      count += 1
    candidate += 2
  return count
# Check if the script was called with a
# parameter. Use that as the upper limit
# of numbers to search
if len(sys.argv) != 2:
  upper_limit=1000000
else:
  upper_limit=int(sys.argv[1])
 
# Record the current time
startTime = datetime.datetime.now()
 
# Start the process
print ""
print "Starting ..."
print ""
count = find_primes(upper_limit)
print ""
 
# Measure and print the elapsed time
elapsed=datetime.datetime.now()-startTime
print " Found %d primes in %s" %(count,elapsed)
print ""

خب ما چندین فانکشن تعریف کردیم یکی برای شماره و دیگری برای داوطلب 

 

بعد یک حلقه تعریف کردیم که از فانکشن upper_limit باشه و مقدارش رو برابر یک میلیون تعریف کردیم و اگر کاربر کد رو با مقدار دیگه هم خواست بتونه در ورودی شل پایتون اون رو تغییر بده

 

بعد از حلقه اول حلقه دیگری زدیم که اعدادی که اول نیستند رو حذف بکنیم 

 

و تنظیمات دیگری که در اینده به صورت کامل توضیح خواهم داد

 

کد بالا رو در فایل دلخواه code.py ذخیره کنید و با شل پایتون رو اجرا کنید به صورت python code.py

 

به صورت پیشفرض تا یک میلیون محاسبه ادامه میدهد و دیگر ادامه نمیدهد 

 

برای تغییر بدون دستکاری درکد و به صورت لحطه ای ورودی اول کمک میگیریم به صورت 

 

python code.py 99999999 و عدد دلخواه رو وارد میکنیم به این شکل

 

با اجرا این اسکریپت پردازنده لودینگ میکند و شما میتوانید از اورکلاک لذت ببرید  :D

 

در اموزش بعدی با اجرای همین کد به صورت مولتی ترد و چندهسته ای با شما خواهیم بود 

لینک به دیدگاه
Share on other sites

سلام دوست خوبم

شما یک فنکشن تعریف کردید که در واقع کارش فقط محاسبه عدد پی هست و با اینکار هسته سی پی یو درگیر محاسبات ریاضی میشه ودیگه تا آخر انجام محاسبات خودش کارایی کلی سی پی یو میا پایین و نمیشهباهاش تست و بنچمارک گرفت یا بهتر بگم یه اسکریپت خطر ناک نوشتید که اگه کاربری به دلیل سطح آگاهی کم و کنجکاوی در این دستورات مثلا رنج محاسبه رو با چند تا  صفر بیشتر کنه یا دستور شرطی پایان حلقه رو دست کاری کنه سیستمش بل کل هنگ میکنه و اگر این اتفاق در حالت اورکلاکینگ پردازنده و رم صورت بگیره ممکه باعث سوختن قطعاتش هم بشه ، و این قسمت # Based on an article from http://dunningrb.wordpress.com/ دلیلش چی هست ؟؟

درضمن این کار چه ربطی به اورکلاکینگ داره؟

اگر هم فقط کار تست رو انجام میده که مثلا فلان پردازنده در مدت ... عدد پی رو محاسبه کرد که از این قبیل برنامه ها  زیاد هست برای تست و بنچمارک!!!!

مثل :

HWBOT Prime  wPrime - 32m  wPrime - 1024m 

 

منبع : http://hwbot.org/benchmarks/processor

 

اگر برای دوستان بیشتر توضیح بدید بازدید کننده بیشتری پیدا خواهید کرد به شرطی که ذکر کنید برنا مه ، فانکشن و یا دستور و یا اسکریپتی که بعدن مینویسید و قرار میدید به چه کاری میار و فایدش چی هست؟؟!

لینک به دیدگاه
Share on other sites

دوستانی که توهین میکنن ، این آخرین اخطاره . در صورت تکرار ، اخراج میشید .

اگر مشکلی میبینید تو مطلب ، وارد بحث بشید تا همه کاربرهایی که علاقه دارن بتونن استفاده کنن . نه اینکه توهین کنید و یا به مسخره بگیرید .

لینک به دیدگاه
Share on other sites

  • کاربر ویژه

سلام دوست خوبم

شما یک فنکشن تعریف کردید که در واقع کارش فقط محاسبه عدد پی هست و با اینکار هسته سی پی یو درگیر محاسبات ریاضی میشه ودیگه تا آخر انجام محاسبات خودش کارایی کلی سی پی یو میا پایین و نمیشهباهاش تست و بنچمارک گرفت یا بهتر بگم یه اسکریپت خطر ناک نوشتید که اگه کاربری به دلیل سطح آگاهی کم و کنجکاوی در این دستورات مثلا رنج محاسبه رو با چند تا  صفر بیشتر کنه یا دستور شرطی پایان حلقه رو دست کاری کنه سیستمش بل کل هنگ میکنه و اگر این اتفاق در حالت اورکلاکینگ پردازنده و رم صورت بگیره ممکه باعث سوختن قطعاتش هم بشه ، و این قسمت # Based on an article from http://dunningrb.wordpress.com/ دلیلش چی هست ؟؟

درضمن این کار چه ربطی به اورکلاکینگ داره؟

اگر هم فقط کار تست رو انجام میده که مثلا فلان پردازنده در مدت ... عدد پی رو محاسبه کرد که از این قبیل برنامه ها  زیاد هست برای تست و بنچمارک!!!!

مثل :

HWBOT Prime  wPrime - 32m  wPrime - 1024m 

 

منبع : http://hwbot.org/benchmarks/processor

 

اگر برای دوستان بیشتر توضیح بدید بازدید کننده بیشتری پیدا خواهید کرد به شرطی که ذکر کنید برنا مه ، فانکشن و یا دستور و یا اسکریپتی که بعدن مینویسید و قرار میدید به چه کاری میار و فایدش چی هست؟؟!

 

:)  :clapping:

 

شما میدونی مولتی ترد چیه ؟  @};- دربالا ذکر شده این اسکریپت فقط با یک هسته پردازنده شروع به انجام محاسبات میکنه ! پس سیستم هنگ نمیکنه و نمیسوزه !

 

اسکریپت خطرناک ؟ :D اصلا اجرای این دستور انچنان به پردازنده های جدید فشاری وارد نمیکنه ! شما چی داری میگی برای خودت ؟ @};-  @};-

 

درضمن مگه فقط باید از نرم افزار های بنچمارک اماده استفاده بکنیم ؟ میتونیم یک الگوریتم طراحی بکنیم و خودمون پردازنده رو به چالش بکشیم

 

پست شما گزارش داده میشه و از ناظم محترم درخواست دارم تاپیک رو پاکسازی بکنند تا شبه ای برای کاربران بوجود نیاد  @};-  @};-

لینک به دیدگاه
Share on other sites

  • کاربر ویژه

خب در این اموزش همراه شما هستیم با الگوریتم های سنگینتر و استفاده از چندین هسته پردازنده 

 

ما در اینجا میخواهیم پا به پا در ساخت یک نرم افزار متن باز برای محاسبه اعداد اول جلو برویم که نتیجه همچین نرم افزاری خواهیم ساخت 

 

primesieve_large.png

 

 

بازده بدست امده از این نوع الگوریتم 

 

primesieve_cpu_scaling.png

 

 

الگوریتم هایی که قرار هست تست کنیم به شرح زیر است 

 

 

Meissel's Formula

 

Lehmer's Formula

 

Legendre's Formula

 

LMO Formula

 

 

در نتایج زیر میتوانید سرعت الگوریتم های فوق رو مشاهده بکنید

 

vdb0uf6n17606r8cio4s.png

 

همانطور که مشاهده میکنید الگوریتم DelegliseRivat نتایج فوق العاده ای برای خود بوجود اورده 

 

نتایج فوق با پردازنده i7-4770 و به صورت 4 هسته ای گرفته شده است . 

ویرایش شده توسط +Extreme
لینک به دیدگاه
Share on other sites

خیلی خوبه ! حتماً این پست رو ادامه بده ...

من خودم برنامه نویس هستم و این کارت رو تحسین میکنم ... با همین روش ها و کد های ساده میشه کلی محاسبه انجام داد ... اگه بشه و حوصله داشتی تحت ویندوز یه برنامه برای لیون بنویس که بنچمارک مخصوص سی پی یو و یا کارت گرافیک باشه ...

مثلاً محاسبه فلان مقدار این همه ثانیه برده ... بعد درجه حرارت سی پی یو (یا GPU) رو با فرکانس و سایر مشخصات نشون بده ... به نظر من اگه حوصله و وقت این کارو داشته باشی لیون کامپیوتر ازت حمایت میکنه ...

من هنوز برنامه بنچمارک درست حسابی ایرانی ندیدم ...

لینک به دیدگاه
Share on other sites

  • کاربر ویژه

خیلی خوبه ! حتماً این پست رو ادامه بده ...

من خودم برنامه نویس هستم و این کارت رو تحسین میکنم ... با همین روش ها و کد های ساده میشه کلی محاسبه انجام داد ... اگه بشه و حوصله داشتی تحت ویندوز یه برنامه برای لیون بنویس که بنچمارک مخصوص سی پی یو و یا کارت گرافیک باشه ...

مثلاً محاسبه فلان مقدار این همه ثانیه برده ... بعد درجه حرارت سی پی یو (یا GPU) رو با فرکانس و سایر مشخصات نشون بده ... به نظر من اگه حوصله و وقت این کارو داشته باشی لیون کامپیوتر ازت حمایت میکنه ...

من هنوز برنامه بنچمارک درست حسابی ایرانی ندیدم ...

 

سلام ممنونم از نظرتون 

 

فکر خوبیه یک نرم افزار بنچمارک برای لیون لازم هست  @};-

لینک به دیدگاه
Share on other sites

  • کاربر ویژه

سلام استارتر عزیز

اول عرض کنم که من تا به اینجا ارتباط با اورکلاک ندیدم شاید دارم عجله میکنم و هنوز به اون مرحله نرسیدی تا به اینجا که فقط در گیر کردن cpu بوده

البته میدونم که با زبان برنامه نویس همه کار میشه کرد و مادرعلم کامپیوتر هست

وقتی کاربران فروم از تک تک فرامین بی اطلاع هستند و معنی هر کدوم و نوع کاری رو که انجام میدن رو نمیدونن چی هست چطور میتونن خودشون اقدام به برنامه نویسی کنن

الان شما اومدی چند خط فرامین نوشتی و یک خروجی ازش گرفتی و دوستان فقط میتونن کپی برداری کنن و تست کنن پس بار اموزشی نداشته 

به نظرم اگه ماهیت تاپیک اموزشی هست باید از پایه شروع میکردی و یا لااقل پرکاربردترین دستورات رو اول توضیحی در موردشون میدادی

قصدم خراب کردن نیست اتفاقا خیلی هم خوشحالم وقتی میبینم کسی جای اینکه بره بیرون و ......       بماند!     اینجا نشسته و داره چیزی یاد کسی میده

 

فقط یکم عنوان تاپیک با موضوعش هماهنگی نداره     البته تا به اینجا 

ببخشید @};-

لینک به دیدگاه
Share on other sites

تایپیک یه کم از موضوعش خارج شده...

تمامی این کدها به روش بسیار ساده تر و علمی تر بهتر و........ در C# قابل نوشتنه

اساسا پایتون برای این کار طراحی نشده و اصلا مناسب این کار نیست(اولش که اسم تایپیک رو دیدم فکر کردم سی شارپ هست یا سی پلاس)

در C# به کمک یک سری ورودی مثل  System.IO و System.Threading میشه پردازنده رو کنترل کرد...

پیشنهاد میکنم آموزش رو به زبان سی شارپ بزارین

ویرایش شده توسط peyman_sh
لینک به دیدگاه
Share on other sites

  • کاربر ویژه

سلام استارتر عزیز

اول عرض کنم که من تا به اینجا ارتباط با اورکلاک ندیدم شاید دارم عجله میکنم و هنوز به اون مرحله نرسیدی تا به اینجا که فقط در گیر کردن cpu بوده

البته میدونم که با زبان برنامه نویس همه کار میشه کرد و مادرعلم کامپیوتر هست

وقتی کاربران فروم از تک تک فرامین بی اطلاع هستند و معنی هر کدوم و نوع کاری رو که انجام میدن رو نمیدونن چی هست چطور میتونن خودشون اقدام به برنامه نویسی کنن

الان شما اومدی چند خط فرامین نوشتی و یک خروجی ازش گرفتی و دوستان فقط میتونن کپی برداری کنن و تست کنن پس بار اموزشی نداشته 

به نظرم اگه ماهیت تاپیک اموزشی هست باید از پایه شروع میکردی و یا لااقل پرکاربردترین دستورات رو اول توضیحی در موردشون میدادی

قصدم خراب کردن نیست اتفاقا خیلی هم خوشحالم وقتی میبینم کسی جای اینکه بره بیرون و ......       بماند!     اینجا نشسته و داره چیزی یاد کسی میده

 

فقط یکم عنوان تاپیک با موضوعش هماهنگی نداره     البته تا به اینجا 

ببخشید @};-

 

ممنون هنوز جای کار داره 

 

 

تایپیک یه کم از موضوعش خارج شده...

تمامی این کدها به روش بسیار ساده تر و علمی تر بهتر و........ در C# قابل نوشتنه

اساسا پایتون برای این کار طراحی نشده و اصلا مناسب این کار نیست(اولش که اسم تایپیک رو دیدم فکر کردم سی شارپ هست یا سی پلاس)

در C# به کمک یک سری ورودی مثل  System.IO و System.Threading میشه پردازنده رو کنترل کرد...

پیشنهاد میکنم آموزش رو به زبان سی شارپ بزارین

 

من فقط یک مثال ساده با پایتون زدم و هنوز اموزش اصلی شروع نشده

 

اموزش اصلی با c++ و کیوت هست که راحت در تمام سیستم عامل ها بشه پیاده سازیش کرد 

 

پس منتظر باشید  @};-  @};-

لینک به دیدگاه
Share on other sites

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پست در این تاپیک...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

×
  • اضافه کردن...