From patchwork Tue Feb 24 03:57:08 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guillaume Bres X-Patchwork-Id: 442770 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ozlabs.org (Postfix) with ESMTP id 78ABB140159 for ; Tue, 24 Feb 2015 14:57:08 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 4064291A64; Tue, 24 Feb 2015 03:57:07 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3j8+GMTGzUWY; Tue, 24 Feb 2015 03:57:03 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 5D6F591AF5; Tue, 24 Feb 2015 03:57:03 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 1840D1C1081 for ; Tue, 24 Feb 2015 03:57:02 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 1427A8B8DE for ; Tue, 24 Feb 2015 03:57:02 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4tKtsd4bhGv9 for ; Tue, 24 Feb 2015 03:57:00 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-ie0-f181.google.com (mail-ie0-f181.google.com [209.85.223.181]) by whitealder.osuosl.org (Postfix) with ESMTPS id 6616091AF0 for ; Tue, 24 Feb 2015 03:57:00 +0000 (UTC) Received: by iecrl12 with SMTP id rl12so29024569iec.4 for ; Mon, 23 Feb 2015 19:56:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type; bh=eErk21uLI3D97k7NWkqkng1VJ8cORRF4hQVE4Qas63c=; b=ULDVmDU1RWM1PkFzwUgrfEH9hfi0qQUoxGmboiabTztXQ5ldr98M0ufjQdjsoicRsI WAJA930EiuRZhCkYH3bJ480K26KWZPY8lJkuYkQPBkUsiFZ4KCKjS0wAi1rNsdwDDUhf RhsFK904AQCFg4dwvsBUsh7vOzhkfDOeKe/cOQTpnmc2fd/pF+JqAytSZtlYyreznzOF Z187WDrs6MMb3sQHE9D5GhOtkB44gT8y4rYE73+n8rPxQdiWC6URW5Gobjk7zD096lSd IHRuMma5EnqzhlWy6S7+AnoCmEeof0VHLiQ7z0yTbHxX3883L9F5Ycj+R3cwd2uKvDxB r2Jw== X-Received: by 10.43.131.5 with SMTP id ho5mr2594776icc.82.1424750219742; Mon, 23 Feb 2015 19:56:59 -0800 (PST) Received: from [192.168.0.3] (c-98-245-89-245.hsd1.co.comcast.net. [98.245.89.245]) by mx.google.com with ESMTPSA id 5sm7360006igr.17.2015.02.23.19.56.58 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Feb 2015 19:56:58 -0800 (PST) Message-ID: <54EBF694.6090705@gmail.com> Date: Mon, 23 Feb 2015 20:57:08 -0700 From: guillaume william brs User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: buildroot@busybox.net Subject: [Buildroot] FFTW optimized for ARM and NEON FPU X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Hello, I am working on a cortex-a9 (zynq SoC, mainly zc706) I faced fairly slow computations of FFT using this library with the default configuration (20MFlops). I modified package/fftw.mk to optimize the library compilation as long as an FPU is available, NEON in this case: this increased the number of MFlops to 500-600. --- fftw.mk 2015-02-23 19:20:04.849545269 -0700 +++ fftw_fpu.mk 2015-02-23 19:26:47.598136607 -0700 @@ -10,4 +10,17 @@ FFTW_LICENSE = GPLv2+ FFTW_LICENSE_FILES = COPYING +ifeq ($(BR2_ARM_ENABLE_NEON),y) +FFTW_CONF_OPTS+= --enable-threads +FFTW_CONF_OPTS+= --with-cpu=cortex-a9 +FFTW_CONF_OPTS+= --with-mode=arm +FFTW_CONF_OPTS+= --enable-languages=c,c++ +FFTW_CONF_OPTS+= ARM_CPU_TYPE=cortex-a9 +FFTW_CONF_OPTS+= ARM_FLOAT_ABI=softfp +FFTW_CONF_OPTS+= --disable-fortran +FFTW_CONF_OPTS+= --enable-single +FFTW_CONF_OPTS+= --enable-neon +FFTW_CONF_OPTS+= CFLAGS="$(TARGET_CFLAGS)-Ofast -mfpu=neon -mfloat-abi=softfp" +endif + $(eval $(autotools-package))