Go Back > Factoring Projects > Factoring

Thread Tools
Old 2014-05-16, 20:42   #1
Aug 2008

19 Posts
Default OpenCL accellerated lattice siever

Hi folks,

A colleague of mine and I have been working on an OpenCL based lattice siever. The code can be found at

The current status of the various pieces are:

1) Small prime sieve/resieve is just stub code "that does the job". There are obviously far faster methods for performing this task.
2) Larger primes are currently only translated onto the (q,r) lattice using the GPU. The expensive portion, expansion of these sub-lattices, is still done on the CPU. We've been modeling a method of doing both tasks inclusive of "bucket" fill in and resieving using a merge sort like algorithm.
3) Some minor routines need to be implemented in the OpenCL MP code
4) Cofactorization is fast. The scheduling of kernels could be a bit better to take advantage of overlapping copies and kernel executions.
5) Code doesn't work on AMD/ATI. This is due to an odd bug regarding lowering of constants for integer division and a heap overflow in the register planner.

The README and code has more details.

pstach is offline   Reply With Quote
Old 2014-05-23, 01:03   #2
Tribal Bullet
jasonp's Avatar
Oct 2004

2·29·61 Posts

Very cool; looking over the source now.

Do you have any timing comparisons between CPU and GPU for the cofactorization stage?
jasonp is offline   Reply With Quote

Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
QS Lattice Siever R.D. Silverman Factoring 31 2018-10-08 17:17
Compiling 64 bit lattice siever on gcc 4.8.5 chris2be8 Factoring 6 2018-02-06 17:22
Shape of a CUDA lattice siever fivemack Programming 2 2012-12-16 01:07
Msieve / lattice siever with degree 7/8 poly Batalov Msieve 54 2010-01-13 19:45
ggnfs lattice siever misses some primes fivemack Factoring 1 2008-01-18 13:47

All times are UTC. The time now is 00:26.

Wed May 19 00:26:31 UTC 2021 up 40 days, 19:07, 0 users, load averages: 2.42, 2.24, 2.01

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.