| FFTW-WISDOM(1) | fftw | FFTW-WISDOM(1) |
نام (NAME)
fftwq-wisdom - ایجاد وِزدوم (تبدیلهای فوریه از پیش بهینهسازیشده)
خلاصه دستور (SYNOPSIS)
fftwq-wisdom [گزینه]... [اندازه]...
توضیحات (DESCRIPTION)
دستور fftwq-wisdom ابزاری برای تولید فایلهای wisdom در FFTW است؛ این فایلها حاوی اطلاعات ذخیرهشده درباره نحوه محاسبه بهینه تبدیلهای (فوریه) در اندازههای مختلف هستند. FFTW یک کتابخانه آزاد برای محاسبه تبدیلهای فوریه گسسته در یک یا چند بُعد، برای اندازههای دلخواه و هم برای دادههای حقیقی و هم مختلط، به همراه سایر عملیات مرتبط است. اطلاعات بیشتر درباره FFTW در صفحه خانگی آن در دسترس است: http://www.fftw.org
برنامههایی که از FFTW استفاده میکنند میتوانند طوری نوشته شوند که wisdom را از یک فایل، رشته یا منبع دلخواه دیگر بارگذاری نمایند. علاوه بر این، بسیاری از برنامههای مبتنی بر FFTW فایل system wisdom را بارگذاری میکنند که به طور پیشفرض در مسیر /etc/fftw/wisdomq ذخیره شده است. از fftwq-wisdom میتوان برای ایجاد یا افزودن به چنین فایلهای wisdom استفاده کرد. در متداولترین حالت استفاده، میتوان فایل wisdom را با پیشبرنامهریزی مجموعهای کانونیکال (استاندارد) از اندازهها (توضیح داده شده در زیر) از طریق دستور زیر ایجاد نمود:
fftwq-wisdom -v -c -o wisdomq
(این فرایند
ساعتها
زمان خواهد
برد، اما
این زمان را
میتوان با
استفاده از
گزینه -t
محدود کرد) و
سپس فایل
خروجی wisdomq را
میتوان (با
دسترسی
مدیر سیستم /
root) در مسیر /etc/fftw/
یا هر مسیر
دیگر کپی
کرد.
برنامه fftwq-wisdom به طور معمول wisdom را مستقیماً در خروجی استاندارد مینویسد، اما این رفتار را میتوان با استفاده از گزینه -o تغییر داد، همانطور که در مثال بالا نشان داده شده است.
اگر فایل wisdom سیستمی /etc/fftw/wisdomq از قبل وجود داشته باشد، fftwq-wisdom این wisdom موجود را میخواند (مگر اینکه گزینه -n مشخص شده باشد) و هم wisdom قدیمی و هم هر wisdom جدید تولیدشده را در خروجی قرار میدهد. به این ترتیب، میتوان از آن برای افزودن اندازههای تبدیل جدید به wisdom موجود سیستم (یا فایل wisdom دیگر، با استفاده از گزینه -w) استفاده کرد.
تعیین اندازهها (SPECIFYING SIZES)
اگرچه یک مجموعه کانونیکال از اندازهها برای بهینهسازی از طریق گزینه -c مشخص میشود، اما کاربر میتواند صفر یا چند اندازه و نوع تبدیل غیرکانونیکال را نیز برای بهینهسازی از طریق آرگومانهای SIZE پس از گزینهها تعیین کند. همچنین در صورتی که آرگومان SIZE برابر با "-" داده شود، اندازههای مورد نظر برای بهینهسازی را میتوان از ورودی استاندارد (جداشده با فاصله) خواند.
اندازهها با نحو (سینتکس) زیر مشخص میشوند:
<type><inplace><direction><geometry>
بخش <type> برابر با ´c´ (مختلط / complex)، ´r´ (حقیقی / real, r2c/c2r) یا ´k´ (تبدیلهای r2r بر حسب نوع هر بُعد، مشخصشده در هندسه در ادامه) است.
بخش <inplace> برابر با ´i´ (درجا / in-place) یا ´o´ (نادرجا / out-of-place) است.
بخش <direction> برابر با ´f´ (مستقیم / forward) یا ´b´ (معکوس / backward) است. بخش <direction> باید برای تبدیلهای ´k´ حذف شود، زیرا جهت آن در بخش هندسه تعیین میشود.
بخش <geometry> نشاندهنده اندازه و ابعاد تبدیل است، که در آن ابعاد مختلف با ´x´ از یکدیگر جدا میشوند (برای مثال ´16x32´ برای یک تبدیل دوبعدی ۱۶ در ۳۲). در مورد تبدیلهای ´k´، اندازه هر بُعد با یک رشته "نوع" همراه است که میتواند یکی از مقادیر f/b/h/e00/e01/e10/e11/o00/o01/o10/o11 به ترتیب برای R2HC/HC2R/DHT/REDFT00/.../RODFT11 باشد، همانگونه که در راهنمای FFTW تعریف شده است.
به عنوان مثال، ´cif12x13x14´ یک تبدیل فوریه گسسته (DFT) مختلط سهبعدی ۱۲ در ۱۳ در ۱۴ است که به صورت درجا عمل میکند. عبارت ´rob65536´ یک تبدیل یکبعدی با اندازه ۶۵۵۳۶ از مختلط به حقیقی (معکوس) و نادرجا است که روی ورودی دارای تقارن هرمیتی اعمال میشود. همچنین ´ki10hx20e01´ یک تبدیل دوبعدی ۱۰ در ۲۰ از نوع r2r است که بُعد اول آن DHT و بُعد دوم آن REDFT01 (یا DCT-III) است.
گزینهها (OPTIONS)
- -h, --help
- نمایش راهنمای گزینهها و نحوه استفاده از خط فرمان.
- -V, --version
- چاپ شماره نسخه و اطلاعات حق نشر.
- -v, --verbose
- خروجی پرجزئیات. (میتوانید این گزینه را چند بار مشخص کنید یا یک آرگومان عددی بزرگتر از ۱ بدهید تا سطح جزئیات افزایش یابد.) توجه داشته باشید که خروجی پرجزئیات با خروجی wisdom ترکیب خواهد شد (که ایمپورت آن را غیرممکن میسازد)، مگر اینکه wisdom را با استفاده از گزینه -o در یک فایل بنویسید.
- -c, --canonical
- بهینهسازی/پیشبرنامهریزی مجموعهای کانونیکال از اندازهها: تمام توانهای دو و ده تا 2^20 (۱۰۴۸۵۷۶)، شامل تبدیلات حقیقی و مختلط، مستقیم و معکوس، درجا و نادرجا. همچنین شامل تبدیلات دو و سهبعدی با ابعاد هماندازه (مانند 16x16x16).
- -t hours, --time-limit=hours
- توقف پس از سپری شدن زمان hours (به ساعت)، و خروجی دادن wisdom انباشتهشده. (مسائل به ترتیب صعودی اندازه برنامهریزی میشوند.) مقدار پیشفرض 0 است که به معنای عدم وجود محدودیت زمانی است.
- -o file, --output-file=file
- ارسال خروجی wisdom به file به جای خروجی استاندارد (حالت پیشفرض).
- -m, --measure; -e, --estimate; -x, --exhaustive
- به طور معمول، fftwq-wisdom برنامهها را در حالت FFTW_PATIENT ایجاد میکند، اما با این گزینهها میتوانید به ترتیب از حالتهای FFTW_MEASURE، FFTW_ESTIMATE یا FFTW_EXHAUSTIVE استفاده کنید، همانطور که در راهنمای FFTW با جزئیات بیشتری توضیح داده شده است.
- توجه داشته باشید که wisdom با سطح صبر برنامهریزی برچسبگذاری میشود و یک فایل واحد میتواند سطوح مختلفی از wisdom را در خود ترکیب کند (به عنوان مثال، میتوانید اکثراً از حالت پیشفرض صبورانه استفاده کنید، اما برای چند اندازه که اهمیت ویژهای دارند در حالت --exhaustive برنامهریزی انجام دهید).
- -n, --no-system-wisdom
- عدم ایمپورت wisdom سیستم از /etc/fftw/wisdomq (که معمولاً به طور پیشفرض خوانده میشود).
- -w file, --wisdom-file=file
- ایمپورت wisdom از file (علاوه بر wisdom سیستم، مگر اینکه -n مشخص شده باشد). میتوان چندین فایل wisdom را با تکرار گزینه -w خواند. اگر file برابر با "-" باشد، wisdom از ورودی استاندارد خوانده میشود.
- -T N, --threads=N
- برنامهریزی با N نخ (Thread). این گزینه تنها در صورتی فعال است که FFTW با پشتیبانی از نخها پیکربندی شده باشد.
گزارش باگها (BUGS)
گزارشهای اشکال را به fftw@fftw.org ارسال کنید.
نویسندگان (AUTHORS)
نوشتهشده توسط Steven G. Johnson و Matteo Frigo.
Copyright (c) 2003, 2007-14 Matteo Frigo
Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
همچنین ببینید (SEE ALSO)
| February, 2003 | fftw |