-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Benjamin Chu edited this page Oct 21, 2018
·
1 revision
Welcome to the IHT.jl wiki!
TO DO for IHT (code):
- Review cross-validation code
- Run on GAW data = 959 people and 8 million sips (must impute genotypes first!)
- Profile code for
project_group_sparse
. Make the sorting more efficient by calling functions that just partially sorts things, and change the whole function to operate in-place. - Change
b
andb0
to typeSparseVector
- Change
X_kb_k
to double precision matrix-vector multiplication - Since
v.xk .= view(x, :, v.idx)
, we don’t need to store a copy ofxk
, and can instead useview()
inA_mul_B
. However this requiresA_mul_B!
in snparrays to accept subarrays as input -> submitted issue on github
- In the first iteration, the denominator of step size is very big (roughly
2.1e9
). For single precision, this is pushing its limit - How did the test_control.txt run in 0.0004 seconds? Did Julia internally do some optimizations that are only available for small datasets?
- dbsnps - extract weights from this data base?
- Compare our IHT implementation to
hard_l0_1Mterm
in matlab which also implements IHT for numeric data -
mask_n
is setting residuals to 0 for entries that one wants to mask, but to maximize efficiency, we should usemask_n
to mask y and X to do a smaller matrix/vector multiplication. - Should declare
IHTVariable
only 1 time - Don’t pass keyword all over the place. Instead, pass
maf = false/true
- If we set
cv_fold = 1
, we get a thread access bug.