Permalink
Switch branches/tags
Nothing to show
Commits on Jun 17, 2014
  1. Added note for future work

    run4flat committed Jun 17, 2014
  2. Fix Inline args assignment

    run4flat committed Jun 17, 2014
Commits on Dec 17, 2013
Commits on Dec 16, 2013
  1. Made Build.PL strict

    run4flat committed Dec 16, 2013
Commits on Jul 4, 2011
  1. Merge pull request #2 from jnareb/master

    run4flat committed Jul 4, 2011
    Fix generating -Xlinker=<options>... for passing arguments to ld from nvcc (this fix is required for building CUDA::Minimal)
  2. Fix generating -Xlinker=<options>... for passing arguments to ld from…

    jnareb committed Jul 4, 2011
    … nvcc
    
    To pass options directly to linker from nvcc `-Xlinker=<options>`
    (or `--linker-options <options>...`) must be used (see 'nvcc --help').
    
    However @other_args contains other _compiler_ options, and most often
    used convention is to use `-Wl,<option>` to pass options directly to
    linker:
    
     `-Wl,OPTION'
         Pass OPTION as an option to the linker.  If OPTION contains
         commas, it is split into multiple options at the commas.
    
    When composing "-Xlinker=..." argument to be passed to nvcc (in
    ExtUtils::nvcc::Builder::linker), we have to _extract_ linker options
    into @linker_args from compiler options in @other_args.
    
    NOTE: currently `-Xlinker <option>` in @other_args is not supported.
    Note also that the semantic of -Xlinker option in gcc and in nvcc
    differ; in gcc we have:
    
     `-Xlinker OPTION'
         Pass OPTION as an option to the linker.  You can use this to
         supply system-specific linker options which GCC does not know how
         to recognize.
    
         If you want to pass an option that takes an argument, you must use
         `-Xlinker' twice, once for the option and once for the argument.
         For example, to pass `-assert definitions', you must write
         `-Xlinker -assert -Xlinker definitions'.  It does not work to write
         `-Xlinker "-assert definitions"', because this passes the entire
         string as a single argument, which is not what the linker expects.
    
    while for nvcc we have:
    
     --linker-options <options>,...              (-Xlinker)
            Specify options directly to the linker.
    
    In gcc -Xlinker is used to pass options one by one, in nvcc options
    are comma-separated, like for -Wl, in gcc.
Commits on Jun 27, 2011
  1. Added a note about testing

    run4flat committed Jun 27, 2011
  2. Minor Windows doc update

    run4flat committed Jun 27, 2011
  3. Updated the README

    run4flat committed Jun 27, 2011
  4. Fixed documentation typo

    run4flat committed Jun 27, 2011
  5. Documentation/readme update

    run4flat committed Jun 27, 2011
  6. Fixes for MS -G and -O issues.

    run4flat committed Jun 27, 2011
    When compiling under Windows, I discovered that cl.exe has lots of
    -G compiler switches. nVidia uses -G for setting device debugging
    level. Fortunately, all of the Microsoft -G options are followed
    by letters and all the nvcc options are followed by numbers, so
    making a more precise search for -G\d solves that confusion.
    
    Also, I found multiple -O flags (under Windows, at least; haven't
    cofirmed with Linux) and the compiler didn't like that I was
    redefining the optimization level. I inserted a small loop through
    the nvcc args which looks for duplicate -O specifications. Now, it
    only keeps the first.
  7. Fixed minor MYMETA.yml issue

    run4flat committed Jun 27, 2011
Commits on Jun 24, 2011
  1. Added special handling for -m

    run4flat committed Jun 24, 2011
    With gcc, you can say things like -march=... and -mtune=... etc.
    These broke the old regex, so I made it more precisely match what
    the compile really accepts.
  2. Added blib support, and made a couple of other changes.

    run4flat committed Jun 24, 2011
    I would like to be able to run the example script from the build
    directory. Before this update, the example required ExtUtils::nvcc
    to be installed, because the compilation process invokes a fresh
    instance of perl which didn't know to include blib. Now the user-level
    script checks for a blib invocation and adds -Mblib to the compiler
    and linker commands if found.
Commits on Jun 23, 2011
  1. Revised and improved handling on Windows.

    run4flat committed Jun 23, 2011
    I managed to install Windows on my nVidia box and discovered that
    although nvcc works with Visual Studio, it does not work with gcc.
    I have documented this in multiple locations and I have included
    checks in Build.PL and the Backend.
Commits on Jun 15, 2011
  1. Updated the README

    run4flat committed Jun 15, 2011
  2. Remove modified perl_nvcc.

    run4flat committed Jun 15, 2011
    Somehow I had modified perl_nvcc and updated github's repo without
    downloading it to my main CUDA dev box. I don't know what changes
    I've obliterated, but since they were with perl_nvcc, I'm pretty
    sure they're obselete.
    
    Merge branch 'master' of github.com:run4flat/perl_nvcc
    
    Conflicts:
    	bin/perl_nvcc
  3. Added --x=cu to compiler.

    run4flat committed Jun 15, 2011
    I used to think that nvcc required its cuda source files to have
    .cu extensions. I discovered the --x option, obseleting a fair
    amount of code and documentation. That's gone now, and the docs
    are improved.
  4. Moved all the heavy lifting into the Backend module.

    run4flat committed Jun 15, 2011
    I realized that the functionality was looking more and more like
    use-level functions and compiler-level functions. So, I decided to
    split the functionality into front-end and back-end modules.
Commits on May 4, 2011
  1. Updated test suite and examples, and more debugging

    David Mertens
    David Mertens committed May 4, 2011
  2. Debuggin and helper functions.

    David Mertens
    David Mertens committed May 4, 2011
    I caught a few bugs in the source which I had not tested with perl -c.
    I also decided to create handy function to return the configuration
    options for Inline::C, Module::Build, and ExtUtils::MakeMaker.
  3. Updated Manifest and the Inline cuda example

    David Mertens
    David Mertens committed May 4, 2011
  4. Shifted all functionality from perl_nvcc script to ExtUtils::nvcc mod…

    run4flat authored and David Mertens committed May 4, 2011
    …ule.
    
    The original versions of this distribution had all the functionality in
    the perl_nvcc script. I have decided to put all of the functionality
    into the ExtUtils::nvcc module, in hopefully a more testable form.
    
    Next I'll need to make a bunch of doc fixes and rewrite the tests.
Commits on Jan 12, 2011
Commits on Dec 27, 2010
  1. Final tweaks before sending v 0.01 to CPAN

    David Mertens
    David Mertens committed Dec 27, 2010
  2. Moved the example to its own directory

    David Mertens
    David Mertens committed Dec 27, 2010
  3. Worked on actual tests of the compiler

    David Mertens
    David Mertens committed Dec 27, 2010
Commits on Dec 8, 2010